[英]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 =
來檢查應該是==
或===
相等性。
至於運行類似函數的替代方法,我建議您查找並了解for
和while
循環,因為它們對 JS 至關重要。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.