【发布时间】:2019-05-02 09:51:00
【问题描述】:
我有 2 个对象数组
var array1 = [{ ID:"1", IsChecked : true},
{ ID:"2", IsChecked : true},
{ ID:"3", IsChecked : true},
{ ID:"4", IsChecked : true}]
var array2 = [{ ID:"1", IsChecked : true},
{ ID:"2", IsChecked : true}]
我想比较两个对象数组,并为那些在 array2 中找不到的对象更改 array1(IsChecked : false) 的属性?
这是我预期的结果:
array1 = [{ ID:"1", IsChecked : true},
{ ID:"2", IsChecked : true},
{ ID:"3", IsChecked : false},
{ ID:"4", IsChecked : false}]
这是我尝试过的:
array1= new Map(array1.map(o => [o.ID, o]));
array2.forEach(o => map.has(o.ID) && (o.IsChecked= map.get(o.ID).IsChecked == true ? true: false));
但这并没有给出预期的答案
【问题讨论】:
-
发布的问题似乎根本没有包含any attempt 来解决问题。 StackOverflow 期待您 try to solve your own problem first,因为您的尝试有助于我们更好地了解您想要什么。请编辑问题以显示您尝试过的内容,以说明您遇到minimal reproducible example 的特定障碍。欲了解更多信息,请参阅How to Ask 并拨打tour。
标签: javascript arrays