使用JavaScript函数从数组中获取单个对象

时间:2016-07-20 12:54:05

标签: javascript

我有这个对象数组:

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原型函数实现它?

2 个答案:

答案 0 :(得分:5)

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

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

答案 1 :(得分:4)

如果您的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)