var arr = [1,[2,3],[4,[5,6]]]
var arr_flat = arr.flat(infinity)
flat()預設只會「拉平」一層,如果想要「拉平」多層的巢狀陣列,可以將flat()方法的引數寫成乙個整數,表示想要拉平的層數,預設為1。如果不管有多少層巢狀,都要轉成一維陣列,可以用infinity關鍵字作為引數。
var arr = [1,[2,3],[4,[5,6]]]
var arr_flat = arr.tostring().split(',') //["1", "2", "3", "4", "5", "6"] 字串型別的
let arr_flat = arr.tostring().split(',').map((val)=>) //[1, 2, 3, 4, 5, 6] 數字型別的
如果不使用map函式建立出來的陣列是字串型別的,需要呼叫parseint()來轉為數字型別
var arr = [1,[2,3],[4,[5,6]]]
function fn(arr)
else
})return arr1
}console.log(fn(arr)) //[1, 2, 3, 4, 5, 6]
let arr = [[1, 2, [3, 4], 5], [6, 7, 8], [[9, 10], 11]]
function flat(arr)
return arr;
}console.log(flat(arr)); // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11]
var arr = [1,[2,3],[4,[5,6]]]
function fn(arr) , )
}console.log(fn(arr)) [1, 2, 3, 4, 5, 6]
巢狀陣列扁平化和陣列去重
1.利用 array.prototype.flat function flattendeep arr 2.利用 reduce 和 concat function flattendeep arr 1.利用 es6 新資料型別 set set類似於陣列,但是成員的值都是唯一的,沒有重複的值。functi...
leetcode341 扁平化巢狀陣列
題目 把巢狀陣列展開成一維陣列,例如input 1,1 2,1,1 output 1,1,2,1,1 input 1,4,6 output 1,4,6 題解 一種簡單的想法,不管怎麼巢狀數字的前後順序不會變,所以去掉括號即是答案。但是這樣就沒意思了。另一種容易想到的是遞迴法,遇到陣列就去遞迴,整數直...
陣列扁平化
原陣列 const arr 1,2,3,4 5,6,7,8 9 希望輸出 1,2,3,4,5,6,7,8,9 方法一 遞迴 function arrdelayering arr else return newarr let newarr arrdelayering arr 1,2,3,4,5,6,7...