[英]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.