// 递归的方法实现扁平化
var arr = [[1, 2, 3], 4, 5, 6, [4, 5], []];
var result = func(arr);
function func(arr, result = []) {
for (let item of arr) {
if (Array.isArray(item)) {
func(item, result);
} else {
result.push(item);
}
}
return result;
}
// es6数组去重
function dedupe(array) {
return Array.from(new Set(array));
}
var arrs = dedupe(result);
console.log(result);
console.log(arrs);
// 数组去重 用indexof 下标来查询
function unique4(arr) {
var newArr = [];
for (var i = 0; i < arr.length; i++) {
if (newArr.indexOf(arr[i]) === -1) {
newArr.push(arr[i]);
}
}
return newArr;
}
console.log(unique4([1, 1, 2, 3, 5, 3, 1, 5, 6, 7, 4]));
// 利用 forEach和 includes来实现
function unique7(arr) {
var newArr = [];
array.forEach(item => {
return newArr.includes(item) ? "" : newArr.push(item);
});
return newArr;
}
console.log(unique7([1, 1, 2, 3, 5, 3, 1, 5, 6, 7, 4]));
// 判断数组
var arr = [1, 2, 3, 1];
alert(arr instanceof Array); // true
var arr = [];
arr instanceof Array; // true
arr.constructor == Array; //true
网友评论