检索 javascript 数组对象数据,其中键等于值



我有一个这样的数组:

data = [
{id:343, article:'yes', image:'ok'},
{id:35, article:'ko', image:'twe'},
{id:212, article:'ere', image:'efe'},
{id:90, article:'fefe', image:'fe'}
]

我正在尝试遍历数组对象,然后获取idarticleimageid 等于某个数字的数据。例如,当 id 等于90时,我想抓取idarticleimage

我能够辨别数组以及 id 是否存在:

data.forEach(function(key,value){
if (key['id'] === 343) {
//how to grab rest of this object?
}
})

但是从那里我不知道如何获取其余的对象数据。

我该怎么做?任何帮助将不胜感激。

  1. 你快到了。根据keyobject获取value

data = [
{id:343, article:'yes', image:'ok'},
{id:35, article:'ko', image:'twe'},
{id:212, article:'ere', image:'efe'},
{id:90, article:'fefe', image:'fe'}
]
var result={}
data.forEach(function(item){
if (item['id'] === 343) {
result=item;
}
});
console.log(result.id,result.article,result.image);

  1. 您也可以使用Array.propotype.filter(( 或 Array.prototype.find((

data = [
{id:343, article:'yes', image:'ok'},
{id:35, article:'ko', image:'twe'},
{id:212, article:'ere', image:'efe'},
{id:90, article:'fefe', image:'fe'}
]
var result = data.filter(obj => obj.id == 343);
console.log(result);
result= data.find(obj => obj.id === 343);
console.log(result.id,result.article,result.image);

使用 Array.find:

const item = data.find(o => o.id === 343);

最新更新