遍历 js 集合
iterating over js collection
我用backbone & 下划线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 中,如果集合 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(在对象文字中您必须使用 :
而不是 =
)语法
我用backbone & 下划线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 中,如果集合 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(在对象文字中您必须使用 :
而不是 =
)语法