1
结果集为[{key:key1,value:value1},{key:key2,value :value2}],我应该在Javascript中使用哪种方法来获取特定键的值。示例我需要'key2'的值。有没有特定的方法,或者我应该使用循环?使用键[{key:key1,value:value1},{key:key2,value:value2}]获取值
在此先感谢。
结果集为[{key:key1,value:value1},{key:key2,value :value2}],我应该在Javascript中使用哪种方法来获取特定键的值。示例我需要'key2'的值。有没有特定的方法,或者我应该使用循环?使用键[{key:key1,value:value1},{key:key2,value:value2}]获取值
在此先感谢。
我会将该结果集转换为索引对象,然后在索引对象上执行所有后续查找。这样你只需要遍历结果集一次。
以下是基于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;
}
}
这是一个不错的主意,如果你想访问始终在更大的数据集值。如果您想在每个应用程序运行时只查看一次,简单的for-loop会更快。 – JacobMiki