Javascript 查找具有特定键值对的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' } ]; 如何获取

假设我有一个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。其中(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!糟糕的是,我很匆忙,只是忘记了周围的对象是一个带索引的数组。