js里数组去重的函数,给解释下
function flatten(arr1,arr2){
var result = [];
var arr = [];
arr = arr2.reduce(function(prev, curr){
prev.push(curr);
return prev;
},arr1);
for (var i = 0; i < arr.length; i++) {
var index = arr[i];
if (result.indexOf(index) === -1) {
result.push(index);
}
}
return result;
}
flatten([1,2],[12,1,2,3,4]); // [1, 2, 12, 3, 4]
function flatten(a, r) {
if (!r) {
r = [];
}
for (var i = 0; i < a.length; i++) {
if (a[i].constructor == Array) {
flatten(a[i], r);
} else {
r.push(a[i]);
}
}
return r;
}
flatten([[1, 2],[3, 4, 5], [6, 7, 8, 9,[11,12,[12,13,[14]]]],10]);
// =>[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]