es6对数组的操作

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
var newArr = Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>{ return a-b})
Array.from() 将类数组对象或可迭代对象转化为数组。
Set 对象允许你存储任何类型的唯一值,无论是原始值或者是对象引用。
 
sort((a,b)=>{ return a-b}) 数字排序(数字和降序)
sort((a,b)=>{ return b-a}) 数字排序(数字和升序)
 
arr.flat(Infinity);
用上方的数组arr
// [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]
 
console.log([1 ,[2, 3]].flat());
// [1, 2, 3]
 
// 指定转换的嵌套层数
console.log([1, [2, [3, [4, 5]]]].flat(2));
// [1, 2, 3, [4, 5]]
 
// 不管嵌套多少层
console.log([1, [2, [3, [4, 5]]]].flat(Infinity));
// [1, 2, 3, 4, 5]
 
// 自动跳过空位
console.log([1, [2, , 3]].flat());
 // [1, 2, 3]
 
posted @ 2019-12-18 16:33  守夜人_M2  阅读(332)  评论(0编辑  收藏  举报