多个数组去重合并
问题:
写一个 function,传入两个或两个以上的数组,返回一个以给定的原始数组排序的不包含重复值的新数组。
换句话说,所有数组中的所有值都应该以原始顺序被包含在内,但是在最终的数组中不包含重复值。
非重复的数字应该以它们原始的顺序排序,但最终的数组不应该以数字顺序排序。
代码如下:
1 function unite(arr1, arr2, arr3) { 2 if(arguments.length === 0) //判断参数个数 3 return undefined; 4 if(arguments.length === 1) 5 { 6 arr1 = arguments[0]; 7 return arr1; 8 } 9 for(var i = 1;i < arguments.length ;i++) 10 { 11 for(var j = 0;j < arguments[i].length ;j++) 12 { 13 if(arr1.indexOf(arguments[i][j]) == -1) 14 { 15 arr1.push(arguments[i][j]); 16 } 17 } 18 } 19 return arr1; 20 21 }