// 已知如下數組
var arr = [
[1, 2, 3],
[4, 4, 5, 6, 6, 7],
[8, 8, 9, 10, [11, 12, 13, [14, 15, 16, [17, 17], [18]]], 18, 19, 20],
];
// 編寫一個程式将數組扁平化去除其中重複部分資料, 最終得到一個升序且不重複的數組
仔細讀題其實就會發現這個題一點都不難,哈哈。
分為3個步驟
1 首先數組扁平化 es6的.flat方法
2 去重 Array.from(new Set())
3 排序 sort
方法多得很,我使用的都是es6直接封裝好的方法,代碼量比較少。
下面附上代碼
let arr = [[1,3,4],[3,4,4,5,5,6,6,7],[7,8,9,9,9,1,23, [11,23,23,[12,24, [15]]]],10,11];
console.log(arr);
bianpinghua(arr);
function bianpinghua(arr) {
/* 1 數組扁平化 */
let newArr = arr.flat(Infinity);
/* 2 數組去重 */
/* 3 數組排序 */
// console.log(newArr);
let quchongArr = Array.from(new Set(newArr)).sort(function(a, b) {return a - b});
console.log(quchongArr);
}