我使用骨干&下划线js + JQuery
我有一组对象,比如Collection-A
[
{"id"="1" , "isReady"="false"},
{"id"="2" , "isReady"="false"},
{"id"="3" , "isReady"="false"},
{"id"="4" , "isReady"="false"}
]
我有另一个集合,比如Collection-B,[{"id"="2"}, {"id"="3"}]
在集合A中,我想更新flag' isReady'的值。如果对象的id存在于Collection-B
中,则返回true最好的方法是什么?
答案 0 :(得分:1)
试试这个
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(在对象文字中,您必须使用:
而不是=
)语法