//定義乙個陣列
let arr = [[1, 2, 3], [7, 0, 5], [6, 9, 8]];
//輸出結果
console.log([...new set(arr.flat(infinity))].sort()) //
[0, 1, 2, 3, 5, 6, 7, 8, 9]
用於將巢狀的陣列「拉平」,變成一維的陣列。該方法返回乙個新陣列,對原資料沒有影響。
//如果不管有多少層巢狀,都要轉成一維陣列,可以用infinity關鍵字作為引數。
arr.flat(infinity)
//es6 提供了新的資料結構 set。它類似於陣列,但是成員的值都是唯一的,沒有重複的值。 set本身是乙個建構函式,用來生成 set 資料結構。
//去除陣列的重複成員
[...new
set(array)]
//排序
array.prototype.sort()
//所以結果就是
[...new
set(arr.flat(infinity))].sort()
//還有一種寫法
array.from(new set(arr.flat(infinity))).sort()
去重排序 JS 陣列去重
陣列去重算是面試題裡常見的考點了,之前在 medium 上看到一篇文章用三種方法實現陣列去重的,感覺十分簡潔。主要用到的是 set,array.filter,array.reduce。可能第一種大家都知道,方方也講過基數排序來去重,但是能用 filter,reduce 寫成這樣的真的很簡潔呀。let...
陣列去重排序
created methods 雙層迴圈,外層迴圈元素,內層迴圈時比較值 如果有相同的值則跳過,不相同則push進陣列 arraydereordering result.push arraydata i console.log this.sortmethod result return this.s...
java物件陣列去重排序
在物件中重寫equals和hashcode方法 override public booleanequals object o override public inthashcode 然後使用時 list diffshippingcostvos newarraylist newhashset insh...