首页 > 解决方案 > 如何在javascript中展平具有3个条目的二维数组?

问题描述

我被要求编写一个函数“flat”,该函数将具有 3 个条目的二维数组展平。该函数应返回一个包含 9 个元素的数组。

例如,console.log (flat([[1,2,3], [5,7,8], [9,4,6]])) 应该返回 [1,2,3,5,7,8 ,9,4,6]

我的代码是这样的:

  function flat(arr){
     
        let newArr = [];

        for (var i =0; i< 3; i++){

            for (var j = 0; j< 3; j++){

                return newArr.concat(arr[i][j]);
            }
        }

   }

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

使用此代码,我只有在数组 newArr 中返回的第一个元素 [1]。任何人都可以帮助解决这个问题吗?或者还有其他方法可以展平二维数组吗?谢谢。

标签: javascriptmultidimensional-arrayconcatenation

解决方案


您可以使用内置数组方法.flat()来执行此操作。

在你的例子中

function flat(array) {
    return array.flat()
}

片段

function flat(arr) {
  return arr.flat()
}

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


推荐阅读