假设我有以下的对象数组:
现在我想收集具有唯一对象的数组(匹配
我可以使用
var firstDataSet = [
{'id': 123, 'name': 'ABC'},
{'id': 456, 'name': 'DEF'},
{'id': 789, 'name': 'GHI'},
{'id': 101, 'name': 'JKL'}
];
var secondDataSet = [
{'id': 123, 'name': 'ABC', 'xProp': '1q'},
{'id': 156, 'name': 'MNO', 'xProp': '2w'},
{'id': 789, 'name': 'GHI', 'xProp': '3e'},
{'id': 111, 'name': 'PQR', 'xProp': '4r'}
];
现在我想收集具有唯一对象的数组(匹配
id
和name
),即:var firstDataSet = [
{'id': 123, 'name': 'ABC', 'xProp': '1q'},
{'id': 456, 'name': 'DEF'},
{'id': 789, 'name': 'GHI', 'xProp': '3e'},
{'id': 101, 'name': 'JKL'},
{'id': 156, 'name': 'MNO', 'xProp': '2w'},
{'id': 111, 'name': 'PQR', 'xProp': '4r'}
];
我可以使用
ALL
来收集所有内容。Array.prototype.unshift.apply(firstDataSet , secondDataSet );
但我不确定如何过滤掉重复项。有什么建议吗?
编辑:我的两个不同数组中的对象并不相同。至少在属性数量上。