比较两个数组值并删除重复值并存储另一个数组lodash

时间:2018-01-12 07:26:07

标签: javascript lodash

如何比较两个数组值并删除重复值并使用lodash存储另一个数组,例如

var array1=['1', '2', '3', '4']
var array2=['5', '1', '8', '10', 3]

var result = ['2','4','5','8','10']

1 个答案:

答案 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>