gpt4 book ai didi

javascript - 获取两个数组并仅返回唯一值

转载 作者:行者123 更新时间:2023-11-30 15:39:45 25 4
gpt4 key购买 nike

我一直在寻找一种(更好的)方法来执行以下操作。获取两个数组并仅返回唯一值。例如。 ['value1', 'value2'] 和 ['value2', 'value3'] 应该返回 'value1' 和 'value3'。以下似乎可行,但我想知道是否有更简单/更简洁的方法来实现相同的结果。

function diffArray(arr1, arr2) {
var newArr = arr1.filter(function(a) {
var count = 0;
arr2.forEach(function (x) {
if (x === a) {count++;}
});
if (count !== 0) {return false;}
return true;
}).concat(arr2.filter(function(b) {
var count = 0;
arr1.forEach(function(y) {
if (y === b) {count++;}
});
if (count !== 0) {return false;}
return true;
}));
return newArr;
}

console.log(diffArray([1, 2, 3, 5], [1, 2, 3, 4, 5]));
//Should return only 4.

最佳答案

Th0rndike 答案的固定版本:

var a1=[1,2];
var a2=[2,3];

function diffArray(a1,a2){
return a2.filter(function(item){
return a1.indexOf(item) < 0;
}).concat(a1.filter(function(item){
return a2.indexOf(item) < 0;
}));
}

console.log(diffArray(a1,a2));

关于javascript - 获取两个数组并仅返回唯一值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40996808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com