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

Mic*_*ael 2 javascript

我有这个对象数组:

var frequencies = [{id:124,name:'qqq'}, 
                  {id:589,name:'www'}, 
                  {id:45,name:'eee'},
                  {id:567,name:'rrr'}];
Run Code Online (Sandbox Code Playgroud)

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

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

我试过这个:

var t = frequencies.map(function (obj) { return obj.id==45; });
Run Code Online (Sandbox Code Playgroud)

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

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

Sat*_*pal 9

你需要filter()map()

var t = frequencies.filter(function (obj) { 
    return obj.id==45; 
})[0];
Run Code Online (Sandbox Code Playgroud)

  • 过滤方法返回数组(单个对象数组),知道如何返回对象而不是数组吗? (2认同)

Nen*_*car 8

如果您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)
Run Code Online (Sandbox Code Playgroud)