Javascript 在多个数组中查找唯一值

Javascript 在多个数组中查找唯一值,javascript,arrays,for-loop,Javascript,Arrays,For Loop,我试图通过以下目标解决一个问题: 编写一个接受两个或多个数组并返回新数组的函数 按原始提供数组的顺序排列唯一值 换句话说,应该包括所有数组中存在的所有值 按原始顺序排列,但在最终数组中没有重复项 唯一编号应按其原始顺序排序,但 最终数组不应按数字顺序排序 因此,我要做的是将所有参数连接到一个名为everything的数组中。然后我在数组中搜索重复项,然后在参数中搜索这些重复项,并将它们.splice()取出 到目前为止,一切正常,但最后一个参数的最后一个数字没有被删除,我真的不明白为什么 有人能

我试图通过以下目标解决一个问题:

编写一个接受两个或多个数组并返回新数组的函数 按原始提供数组的顺序排列唯一值

换句话说,应该包括所有数组中存在的所有值 按原始顺序排列,但在最终数组中没有重复项

唯一编号应按其原始顺序排序,但 最终数组不应按数字顺序排序

因此,我要做的是将所有参数连接到一个名为
everything
的数组中。然后我在数组中搜索重复项,然后在参数中搜索这些重复项,并将它们
.splice()
取出

到目前为止,一切正常,但最后一个参数的最后一个数字没有被删除,我真的不明白为什么

有人能指出我做错了什么吗?请记住,我正在努力学习,所以显而易见的事情可能对我来说并不明显,需要指出。提前谢谢

函数联合(arr1、arr2、arr3){
var everything=[];
//对除第一个阵列以外的所有阵列进行concat
对于(var x=0;x联合([1,3,2],[5,2,1,4],[2,1])看起来有点过于复杂;)

函数联合(){
return[].concat.apply([],arguments).filter(函数(elem,index,self){
返回self.indexOf(elem)==索引;
});
}
res=unite([1,2,3],[5,2,1,4],[2,1],[6,7,8]);

document.write(“”+JSON.stringify(res))看起来有点过于复杂;)

函数联合(){
return[].concat.apply([],arguments).filter(函数(elem,index,self){
返回self.indexOf(elem)==索引;
});
}
res=unite([1,2,3],[5,2,1,4],[2,1],[6,7,8]);

document.write(“”+JSON.stringify(res))您也可以尝试以下方法:

var数据=[[1,2,3]、[5,2,1,4]、[2,1]、[6,7,8]]
var UniqueValues=[]
对于(变量i=0;iconsole.log(UniqueValues)
您也可以尝试以下方法:

var数据=[[1,2,3]、[5,2,1,4]、[2,1]、[6,7,8]]
var UniqueValues=[]
对于(变量i=0;iconsole.log(UniqueValues)
您是否介意对代码稍加注释,或者至少解释一下它是如何工作的:)。您是否介意对代码稍加注释,或者至少解释一下它是如何工作的:)。