如何比较两个数组值并删除重复值并使用lodash存储另一个数组,例如
var array1=['1', '2', '3', '4']
var array2=['5', '1', '8', '10', 3]
var result = ['2','4','5','8','10']
答案 0 :(得分:6)
只需连接数组并检查左侧和右侧的索引。如果相等,则取唯一值。
此解决方案仅对两个阵列都'3'
。
var array1 = ['1', '2', '3', '4'],
array2 = ['5', '1', '8', '10', '3'],
result = array1.concat(array2).filter((v, _, a) => a.indexOf(v) === a.lastIndexOf(v));
console.log(result);
使用lodash的_.xor
创建一个唯一值数组,它是给定数组的symmetric difference。结果值的顺序由它们在数组中出现的顺序决定。
var array1 = ['1', '2', '3', '4'],
array2 = ['5', '1', '8', '10', '3'],
result = _.xor(array1, array2);
console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>