把數(shù)組扁平化[1,2,[3,[4,[9,[1]],5]]],結果[1, 2, 3, 4, 9, 1, 5]
方法一
function flatten (arr) {
let result = []
arr.forEach(i => {
if (Array.isArray(i)) {
result = result.concat(flatten(i))
} else {
result.push(i)
}
});
return result
}
方法二
function flatten (arr) {
return arr.reduce((pre,next)=> {
return pre.concat(Array.isArray(next)?flatten(next):next)
},[])
}
方法三
function flatten (arr) {
return arr.toString().split(',').map(Number)
}
方法四
flat(depth)
ES6的flat方法,depth 是 flat 的參數(shù),depth 是可以傳遞數(shù)組的展開深度(默認不填、數(shù)值是 1),即展開一層數(shù)組。參數(shù)也可以傳 Infinity,代表不論多少層都要展開
function a (arr) {
return arr.flat(Infinity)
}