我在javascripts中有两个对象数组。与arr1[] = {emp1,emp2,emp3}
一样,其中emp1
具有emp1.name
和emp1.address
作为属性。
像
这样的东西arr1={object {name='a',address='b'} {name='c',address='d'} {name='e',address='f'} }.
arr2={object {name='a',address='b'}}.
我想比较两个数组对象的name
属性,并将缺少的项填充到另一个数组中。结果将是结果[] = {'c','e'}
什么是实现这一目标的有效方法?我不指望代码,请指导我正确的方向。感谢。
答案 0 :(得分:0)
Array.filter
方法可能会有所帮助。查看更多信息here。
答案 1 :(得分:0)
该功能可能看起来像
function foo(arr1,arr2){
var arr3 = new Array();
var x=0;
for (var j =0; j<arr1.length; j++)
for(var i=0; i<arr2.length; i++)
if(arr1[j].name != arr2[i].name){
arr3[x]=arr1[i];
x++;
}
return(arr3);
}
这将遍历2个数组,如果元素不相同,那么它们将被放入第三个数组中。这是检查aarr1中的任何名称是否与arr2中的相同。它没有检查另一种方式。(即如果arr2有一个arr1中不存在的元素,它将不会被放入arr3)但至少它应该让你开始。该函数将接受2个数组并返回第三个