Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在对象数组上使用map()检查差异_Javascript - Fatal编程技术网

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)