结果集是[{key:key1,value:value1},{key:key2,value:value2}],我应该在Javascript中使用哪种方法来获取特定key的值。示例我需要'key2'的值。有特定的方法还是应该使用循环?

提前致谢。

最佳答案

我会将结果集转换为索引对象,然后对索引对象执行所有后续查找。这样,您只需要遍历一次结果集即可。

下面是基于reduce方法的简单实现。



var results = [{key: "key1", value: "value1"}, {key: "key2", value: "value2"}];
var index = results.reduce(function(index, result) {
    index[result.key] = result.value;

    return index;
}, {});

alert(index.key2);





如注释中所述,如果您不需要进行多次查找,而只需要提取一个值,则使用常规的for循环会更快并且使用更少的内存。



var results = [{key: "key1", value: "value1"}, {key: "key2", value: "value2"}];

for (var i=0; i < results.length; i++) {
  if (results[i].key === 'key2') {
    alert(results[i].value);

    break;
  }
}

关于javascript - 使用键[{key:key1,value:value1},{key:key2,value:value2}]获取值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32263817/

10-10 01:15