【发布时间】:2020-07-13 08:27:23
【问题描述】:
我有两个下面的数组对象。我想找到第一个数组的所有这些 ID,并使它们在第二个对象数组中处于活动状态,其余的必须在状态属性中变为无。
var searchIDs = [{ "id":"6001", "other" : "..." },
{ "id":"6002", "other" : "..."}]
var list = [
{"id":"9666", "status":"active"},
{"id":"9667", "status":"none"},
{"id":"9999", "status":"none"},
{"id":"9668", "status":"none"},
{"id":"9669", "status":"active"},
{"id":"6001", "status":"none"},
{"id":"6002", "status":"none"},
{"id":"6003", "status":"none"},
{"id":"6004", "status":"none"},
{"id":"6005", "status":"active"},
{"id":"6006", "status":"none"},
{"id":"6007", "status":"none"},
{"id":"6008", "status":"none"},
{"id":"6009", "status":"none"}
]
for (var i = 0 ; i < searchIDs.length ; i ++) {
list.find(v => v.id !== searchIDs[i].id).status = "none";
list.find(v => v.id === searchIDs[i].id).status = "active";
Array.prototype.push.apply(list);
}
console.log('Final List : ' + JSON.stringify(list));
但是当我尝试使用 for 循环的 find 函数时,它现在不起作用。我该如何解决?感谢阅读我的问题!谢谢!
最终结果应该是
[
{"id":"9666", "status":"none"},
{"id":"9667", "status":"none"},
{"id":"9999", "status":"none"},
{"id":"9668", "status":"none"},
{"id":"9669", "status":"none"},
{"id":"6001", "status":"active"},
{"id":"6002", "status":"active"},
{"id":"6003", "status":"none"},
{"id":"6004", "status":"none"},
{"id":"6005", "status":"none"},
{"id":"6006", "status":"none"},
{"id":"6007", "status":"none"},
{"id":"6008", "status":"none"},
{"id":"6009", "status":"none"}
]
【问题讨论】:
标签: javascript arrays arrayobject