我有一个这样的数组:
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'}
]
我正在尝试遍历数组对象,然后获取id
、article
和image
id 等于某个数字的数据。例如,当 id 等于90
时,我想抓取id
、article
和image
。
我能够辨别数组以及 id 是否存在:
data.forEach(function(key,value){
if (key['id'] === 343) {
//how to grab rest of this object?
}
})
但是从那里我不知道如何获取其余的对象数据。
我该怎么做?任何帮助将不胜感激。
- 你快到了。根据
key
从object
获取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);
- 您也可以使用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);