Javascript 在对象数组上使用map()检查差异
所以我想使用Javascript 在对象数组上使用map()检查差异,javascript,Javascript,所以我想使用map(),但我被卡住了。我想返回arr2,但想通过与arr进行比较来提示用户是否有更改。通过下面的方法,我得到了未定义的id,如果arr2有任何缺少的项 你需要使用过滤器 var result = arr.filter(function(obj, i) { return obj.id == arr2[i].id; }) 若要更改对象,则应使用映射。例如,若只需要id数组,则应使用它。例如,如果您想要获取ID列表,那么 var result = arr .filter(fun
map()
,但我被卡住了。我想返回arr2
,但想通过与arr
进行比较来提示用户是否有更改。通过下面的方法,我得到了未定义的id,如果arr2有任何缺少的项
你需要使用过滤器
var result = arr.filter(function(obj, i) {
return obj.id == arr2[i].id;
})
若要更改对象,则应使用映射。例如,若只需要id数组,则应使用它。例如,如果您想要获取ID列表,那么
var result = arr
.filter(function(obj, i) { return obj.id == arr2[i].id; })
.map(function(obj){return obj.id;});
你需要使用过滤器
var result = arr.filter(function(obj, i) {
return obj.id == arr2[i].id;
})
若要更改对象,则应使用映射。例如,若只需要id数组,则应使用它。例如,如果您想要获取ID列表,那么
var result = arr
.filter(function(obj, i) { return obj.id == arr2[i].id; })
.map(function(obj){return obj.id;});
map
为数组中的每个给定元素返回一个元素。看起来您实际需要的是使用过滤器
。也许是这样的:
var result=arr.filter((elem,index)=>elem.id==arr2[index].id)
map
为数组中的每个给定元素返回一个元素。看起来您实际需要的是使用过滤器
。也许是这样的:
var result=arr.filter((elem,index)=>elem.id==arr2[index].id)代码>