一行程式碼實現陣列降維去重排序

前端開膛手發表於2019-03-13

接下來用到的方法,全部來自es6,不瞭解的同學可以先學習es6的相關知識。 es6陣列方法 話不多說,直接上程式碼

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];
//es6提供了直接降維多維陣列的方法 flat
let a=arr.flat(Infinity);
console.log("a")
console.log(a)
//set 是es6提供的去重方法
let b=new Set(a);
console.log("b")
console.log(b)
//通過解構,形成新的陣列
let b1=[...b]
console.log("b1")
console.log(b1)
let c=Array.from(b)
console.log("c")
console.log(c)
let d=c.sort((a,b)=>{
  return a-b;
})
console.log("d")
console.log(d)


//封裝多維陣列降維 去重 排序方法
//flat降維;set排序,from重新生成陣列,sort排序
const arrayFlat=(arr)=>{
  return Array.from(new Set(arr.flat(Infinity))).sort((a,b)=>{ return a-b});
}
console.log("檢視結果");
console.log(arrayFlat(arr));
複製程式碼

貼心的我還貼上了線上地址,方便大家進行除錯 點我

相關文章