簡體   English   中英

如何跳到 JSON 對象中特定鍵的值?

[英]How can I skip to value to specific key in JSON object?

所以我正在處理一個看起來有點像這樣的對象:

{
  examples: [
    { key: 'value1' },
    { key: 'value1' },
    { key: 'value1' },
    { key: 'value2' },
    { key: 'value2' },
    { key: 'value2' }
  ]
}

如您所見,這些值是有序的。 我正在嘗試獲取 value2 的值,並且我確信有一種比我目前正在做的更有效的方法,因為實際對象要大得多,因此需要一些時間才能達到 value2。 這是我創建的函數:

function getValue2 (obj, num) {
    if (obj.examples[num] = "value2"){
        console.log(obj.examples[num]);
    }
    else {
        getValue2(obj, num + 1);
    };
};

var x = JSON.parse(obj);
getValue2(x, 0);

先感謝您! :)

您可以使用Array#find

返回提供的數組中滿足提供的測試函數的第一個元素的值。 如果沒有值滿足測試函數,則返回 undefined。

 const data = { examples: [ { key: 'value1' }, { key: 'value1' }, { key: 'value1' }, { key: 'value2' }, { key: 'value2' }, { key: 'value2' } ] }; const res = data.examples.find(({ key }) => key === 'value2'); console.log(res);

如何使用Object.values ,像這樣:

function getValue2(obj){
   return Object.values(obj.examples).find(e => e === 'value2')
} 

我看到的第一個問題是您使用單個 equals =來檢查應該是=====相等性。

至於運行類似函數的替代方法,我建議您查找並了解forwhile循環,因為它們對 JS 至關重要。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM