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

0 javascript lodash

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

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

var result = ['2','4','5','8','10']
Run Code Online (Sandbox Code Playgroud)

Nin*_*olz 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);
Run Code Online (Sandbox Code Playgroud)

随着lodash的 _.xor

创建一个唯一值数组,这是给定数组的对称差异.结果值的顺序由它们在数组中出现的顺序决定.

var array1 = ['1', '2', '3', '4'],
    array2 = ['5', '1', '8', '10', '3'],
    result = _.xor(array1, array2);

console.log(result);
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)