天天看點

多元數組轉一維數組+排序

// 已知如下數組
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);
        }
           

繼續閱讀