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
| function flatArray1 (arr) { return arr.reduce((pre, cur)=>{ return pre.concat(Array.isArray(cur) ? flatArray1(cur) : cur) },[]) }
function flatArray2 (arr) { let newArr = [] for (let i = 0; i< arr.length; i++) { if (Array.isArray(arr[i])) { newArr = newArr.concat(flatArray2(arr[i])) } else { newArr.push(arr[i]) } } return newArr }
function flatArray3 (arr) { while(arr.some(item=>Array.isArray(item))){ arr = [].concat(...arr) } return arr }
|