Ank*_*wal 1 html javascript jquery web lodash
我有两个数组.
array1 = [
{'id':1},
{'id': 2}
]
Run Code Online (Sandbox Code Playgroud)
和
array2 = [
{'idVal':1},
{'idVal': 2},
{'idVal': 3},
{'idVal': 4}
]
Run Code Online (Sandbox Code Playgroud)
我需要一种最佳方式,如果可能的话,我可以比较这两个数组,并得到一个结果数组,其中包含对象array2而不是array1.两个数组中的键具有不同的名称.结果将是,
res = [
{'idVal': 3},
{'idVal': 4}
]
Run Code Online (Sandbox Code Playgroud)
使用_.differenceWith()比较器方法.根据文档_.difference()(差异是基于差异):
使用SameValueZero创建一个未包含在其他给定数组中的数组值数组,以进行相等比较.结果值的顺序和引用由第一个数组确定.
所以array2应该是传递给该方法的第一个参数.
var array1 = [
{'id': 1},
{'id': 2}
];
var array2 = [
{'idVal': 1},
{'idVal': 2},
{'idVal': 3},
{'idVal': 4}
];
var result = _.differenceWith(array2, array1, function(arrVal, othVal) {
return arrVal.idVal === othVal.id;
});
console.log(result);Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
100 次 |
| 最近记录: |