假设我有一个JS对象,其中包含多个具有相同属性的对象。
编辑:我将外括号修改为方括号以反映实际对象的内容。接受的答案在评论中。
var object = [
{
id: 1,
foo: 'bar'
},
{
id: 2,
foo: 'bar2'
},
{
id: 3,
foo: 'bar3'
},
{
id: 4,
foo: 'bar4'
}
];
如何获取具有特定ID的对象,例如id == 1
,类似于Rails方法ActiveRecord::Relation.where(id: 1)
?
答案 0 :(得分:6)
您需要为搜索创建一个对象数组,并尝试使用
var object = [{ // make array by using [ and ]
id: 1,
foo: 'bar'
}, {
id: 2,
foo: 'bar2'
}, {
id: 3,
foo: 'bar3'
}, {
id: 4,
foo: 'bar4'
}];
function searchByKey(obj, key) {
for (var i in obj) {
if (obj[i].id == key) {
return obj[i];
}
}
return "Not found";
}
console.log(searchByKey(object,1));
console.log(searchByKey(object,4));