写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组。
换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值。
非重复的数字应该以它们原始的顺序排序,但最终的数组不应该以数字顺序排序。
function unite(arr1, arr2, arr3) {
var array=[];
for(var i=0;i<arguments.length;i++){
array=array.concat(arguments[i]);
}
return array.filter(function(element,index){
return array.indexOf(element)===index;
//当element指向第一个2时,index为2,当element指向第二个2时,index为4,array.indexOf(element)返回的值还是2(查找到第一个2的索引并返回),所以这时候就把后面重复的数都筛选去掉了
});
}
unite([1, 3, 2], [5, 2, 1, 4], [2, 1]);