Javascript 查找具有特定键值对的JS对象/哈希
假设我有一个JS对象,其中有多个具有相同属性的对象 编辑:我将外部大括号修改为方括号,以反映实际对象。公认的答案在评论中Javascript 查找具有特定键值对的JS对象/哈希,javascript,jquery,ruby-on-rails,Javascript,Jquery,Ruby On Rails,假设我有一个JS对象,其中有多个具有相同属性的对象 编辑:我将外部大括号修改为方括号,以反映实际对象。公认的答案在评论中 var object = [ { id: 1, foo: 'bar' }, { id: 2, foo: 'bar2' }, { id: 3, foo: 'bar3' }, { id: 4, foo: 'bar4' } ]; 如何获取
var object = [
{
id: 1,
foo: 'bar'
},
{
id: 2,
foo: 'bar2'
},
{
id: 3,
foo: 'bar3'
},
{
id: 4,
foo: 'bar4'
}
];
如何获取具有特定id的对象,例如
id==1
,类似于Rails方法ActiveRecord::Relation。其中(id:1)
?您需要创建一个用于搜索的对象数组,然后像这样尝试
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));
您需要创建一个用于搜索的对象数组,然后像这样尝试
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));
这不是有效的JavaScript!糟糕的是,我当时很匆忙,只是忘记了周围的对象是一个带索引的数组。这不是有效的JavaScript!糟糕的是,我很匆忙,只是忘记了周围的对象是一个带索引的数组。