js多維數組降維的5種方法
多維數組降維也就是數組扁平化
數組扁平化的方法有很多種,但是我主要用五種,如下:
一,遞歸
// 一,遞歸 let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]] let newArr = [] const getArr=(array)=>{ array.forEach((item)=>{ // 如果遍歷的元素不是一個數組 就把這個元素放到新數組中 // 反之 就進行遞歸再次調用方法 Array.isArray(item) ? getArr(item) : newArr.push(item) }) } getArr(arr) console.log(newArr)
二,將多維數組轉為字符串,再轉化為一維數組
let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]] console.log(arr.join(',').split(','))
三,利用數組的方法
(使用 Infinity 作為深度,展開任意深度的嵌套數組)
Array.prototype.flat() let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]] console.log(arr.flat(Infinity))
四、利用contact
var a = [1,[2],[3,4]] var result = [] for(var i=0; i<a.length; i++){ if(a[i].constructor == Array) { result = result.concat(a[i]) }else { result.push(a[i]) } } console.log(result)
五、利用擴展運算符
擴展運算符相當於數組拆成最小單位瞭,
…[1,2,[3, 4]] 相當於變成瞭 1,2, [3, 4]///[ ].concat(…a) 就相當於 [ ].concat(1,2,[3,4])
var a = [1,[2],[3,4]] var result = [] result = [].concat(...a) console.log(result)
到此這篇關於js多維數組降維的5種方法的文章就介紹到這瞭,更多相關js多維數組降維內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- JS前端面試數組扁平化手寫flat函數示例
- js將多維數組轉為一維數組後去重排序
- js實現數組的扁平化
- JavaScript中數組flat方法的使用與實現方法
- 27個JavaScript數組常見方法匯總與實例說明