Javascript 在js集合上迭代

Javascript 在js集合上迭代,javascript,jquery,backbone.js,underscore.js,Javascript,Jquery,Backbone.js,Underscore.js,我使用主干线&下划线js+JQuery 我有一个对象集合,比如集合-a [ {"id"="1" , "isReady"="false"}, {"id"="2" , "isReady"="false"}, {"id"="3" , "isReady"="false"}, {"id"="4" , "isReady"="false"} ] 我还有另一个集合,比如集合-B,[{“id”=“2”},{“id”=“3”}] 在collection-A中,如果collection-B中存在对象的id,我想将

我使用主干线&下划线js+JQuery

我有一个对象集合,比如集合-a

[
{"id"="1" , "isReady"="false"}, 
{"id"="2" , "isReady"="false"},
{"id"="3" , "isReady"="false"},
{"id"="4" , "isReady"="false"}
]
我还有另一个集合,比如集合-B,
[{“id”=“2”},{“id”=“3”}]

在collection-A中,如果collection-B中存在对象的id,我想将标志'isReady'的值更新为true

最好的方法是什么?

试试这个

var a = [
  {id: "1", isReady: "false"}, 
  {id: "2", isReady: "false"},
  {id: "3", isReady: "false"},
  {id: "4", isReady: "false"}
];

var b   = [{id: "2"}, {id: "3"}];
var ids = _.pluck(b, 'id');

_.each(a, function (el) {
  if (_.indexOf(ids, el.id) >= 0) {
    el.isReady = true;
  }
});

console.log(a);


我更改了数据,因为在您的示例中,您没有有效的JS(在对象文本中,您必须使用
而不是
=
)语法,这是无效的JavaScript语法。如果这些是真实的JavaScript对象,请提供真实的JavaScript代码。谢谢,这是我想要的,