欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js多維數(shù)組降維的5種方法

 更新時(shí)間:2023年04月07日 15:46:27   作者:鮮橙多了沒  
本文主要介紹了js多維數(shù)組降維的5種方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

多維數(shù)組降維也就是數(shù)組扁平化

數(shù)組扁平化的方法有很多種,但是我主要用五種,如下:

一,遞歸

        // 一,遞歸
        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)=>{
                // 如果遍歷的元素不是一個(gè)數(shù)組 就把這個(gè)元素放到新數(shù)組中 
                // 反之 就進(jìn)行遞歸再次調(diào)用方法
                Array.isArray(item) ? getArr(item) : newArr.push(item)
            })
        }
        getArr(arr)
        console.log(newArr)

二,將多維數(shù)組轉(zhuǎn)為字符串,再轉(zhuǎn)化為一維數(shù)組

let arr = [1, [2, 3, 4, 5], [6, 7, 8, 9, [10, 11, 12, [14, 15, 16]]]] 
console.log(arr.join(',').split(','))

三,利用數(shù)組的方法

(使用 Infinity 作為深度,展開任意深度的嵌套數(shù)組)

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)

 五、利用擴(kuò)展運(yùn)算符

 擴(kuò)展運(yùn)算符相當(dāng)于數(shù)組拆成最小單位了,

 ...[1,2,[3, 4]] 相當(dāng)于變成了 1,2,  [3, 4]///[ ].concat(...a) 就相當(dāng)于 [ ].concat(1,2,[3,4])

    var a = [1,[2],[3,4]]
    var result = []
    result = [].concat(...a)
    console.log(result)

到此這篇關(guān)于js多維數(shù)組降維的5種方法的文章就介紹到這了,更多相關(guān)js多維數(shù)組降維內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論