# 合并二维有序数组成一维有序数组

// 方法1:使用concat
const flatten1 = (arr) => {
while (arr.some((item) => Array.isArray(item))) {
    arr = [].concat(...arr);
}
arr.sort((a, b) => { return a-b })
return arr;
};
// 方法2:使用reduce
const flatten2 = (arr) =>
arr.reduce(
    (acc, cur) =>
    Array.isArray(cur) ? [...acc, ...flatten2(cur)] : [...acc, cur],
    []
);
// test
var arr = [1, 2, [3, 4, [5, 6], 7, 8]];
console.log(flatten1(arr));
console.log(flatten2(arr));
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19