繁体   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