【问题标题】:Get value from using key [{key: key1, value: value1}, {key: key2, value: value2}]使用键获取值 [{key: key1, value: value1}, {key: key2, value: value2}]
【发布时间】:2015-11-22 16:31:15
【问题描述】:

结果集是[{key: key1, value: value1}, {key: key2, value: value2}],我应该在Javascript中使用什么方法来获取特定键的值。示例 我需要“key2”的值。是否有特定的方法或者我应该使用循环?

提前致谢。

【问题讨论】:

    标签: javascript key-value


    【解决方案1】:

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

    以下是基于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);

    如 cmets 中所述,如果您不需要进行多次查找,而只需要提取一个值,则使用常规 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 会更快。
    猜你喜欢
    • 2023-04-05
    • 2017-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    相关资源
    最近更新 更多