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

Get single object from array using JavaScript functions

本问题已经有最佳答案,请猛点这里访问。

我有这个对象数组:

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

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

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

我试过这个:

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

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

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


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

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


如果id是唯一的,则可以使用find()

1
2
3
4
5
6
7
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)