【问题标题】:Get single object from array using JavaScript functions [duplicate]使用JavaScript函数从数组中获取单个对象[重复]
【发布时间】:2016-11-23 17:28:59
【问题描述】:

我有这个对象数组:

var frequencies = [{id:124,name:'qqq'}, 
                  {id:589,name:'www'}, 
                  {id:45,name:'eee'},
                  {id:567,name:'rrr'}];

我需要通过id 值从上面的数组中获取一个对象。

例如我需要获取 id = 45 的对象。

我试过了:

var t = frequencies.map(function (obj) { return obj.id==45; });

但我没有得到想要的对象。

如何使用 JavaScript 原型函数来实现它?

【问题讨论】:

    标签: javascript


    【解决方案1】:

    如果您的 id 是独一无二的,您可以使用 find()

    var frequencies = [{"id":124,"name":"qqq"},{"id":589,"name":"www"},{"id":45,"name":"eee"},{"id":567,"name":"rrr"}];
                      
    var result = frequencies.find(function(e) {
      return e.id == 45;
    });
    
    console.log(result)

    【讨论】:

    • 太棒了! find() 非常完美,因为它只返回数组中的单个条目 :-)
    【解决方案2】:

    你需要filter() 而不是map()

    var t = frequencies.filter(function (obj) { 
        return obj.id==45; 
    })[0];
    

    【讨论】:

    猜你喜欢
    • 2014-05-26
    • 1970-01-01
    • 2020-11-24
    • 2019-05-11
    • 2023-03-20
    • 2021-09-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多