ES6 新增数据结构 Set
let arr = [...new Set([1,5,8,4,5,8,7,8])];
console.log(arr); // [1, 5, 8, 4, 7]
ps:ES5之前得方法很多,这儿不赘述,主要是这个新的数据结构
采用闭包
function arrfun () {
let result = [];
return function arrFlat(arr) {
arr.forEach(e => {
if (e instanceof Array) {
arrFlat(e);
} else {
result.push(e);
}
});
return result;
}
}
let res = arrfun();
console.log(res([1,[5,8,[4,5,8],7],8]));
ES6新增方法
flat(n) // n表示扁平化层级
[1,[5,8,[4,5,8],7],8].flat(); // [1, 5, 8, [4, 5, 8], 7, 8]
[1,[5,8,[4,5,8],7],8].flat(2); // [1, 5, 8, 4, 5, 8, 7, 8]
var arr = [1,4,5,8,6,2,5,6,3,5];
arr.sort();
console.log(arr);
var arr = [1,4,5,8,6,2,5,6,3,5];
arr.sort(function(a,b) {
return Math.random()-0.5;
});
console.log(arr);
var arr = [1,4,5,8,6,2,5,6,3,5];
arr.reverse();
console.log(arr);
不改变原数组
concat()/join()/toString()/slice()
ES6新增
find()/findIndex()/flat()/fill(value,start,end)/copyWithin(target,start,end)/from()