数组扁平化方法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
//使用concat的
function init (arr) {
var newArr = [];
if (arr instanceof Array) {
arr.forEach(function (value) {
newArr = newArr.concat(init(value));
});
} else {
newArr.push(arr);
}
return newArr;
}
init([1, [2], [3, [[4]]]]);
//不使用concat的
[1, {}, [3, [[4]]]].toString().split(',').map(v => {
switch(v) {
case '[object Object]':
return {};
default: {
const isNumberString = v => v && !isNaN(v);
if(isNumberString(v)) return Number(v);
else return v;
}
}
}).filter((v) => !Object.is(v, ''))
//[1,[2],[3],[4],[5,[6]]].toString() == "1,2,3,4,5,6"