首页 > 技术文章 > 多维数组转一维数组

NanKe-Studying 2020-10-23 17:41 原文

第一种:使用flat()  缺点:只能转换一层(二维转一维)

console.log(arr.flat());//[ 0, 1, 2, 3, 4, 5, 6, 7, [ 8, [ 9, 10 ] ] ]

当然你也可以一直点下去 缺点:不灵活

console.log(arr.flat().flat().flat());
console.log(arr.flat(3));
//[
   0, 1, 2, 3, 4,
   5, 6, 7, 8, 9,
  10
]

第二种 递归  (个人常用)

let newArr = []
function Conversion(arr) {
    arr.forEach(item => {
        if (Array.isArray(item)) {
            Conversion(item)
        } else {
            newArr.push(item)
        }
    })
}

Conversion(arr)
console.log('newArr', newArr);

//newArr [
   0, 1, 2, 3, 4,
   5, 6, 7, 8, 9,
  10
]

 

推荐阅读