将二维嵌套数组转换为 JavaScript 中的一维数组?

时间:2021-03-07 22:55:45

标签: javascript arrays

给定一个如示例所示的二维数组,如何设法将字符串数字合并为一个。

例如:Array2 = [[1,2,3],[4,5,6],[7,8,9]];

必需的溶胶:

Array1 = [123, 245, 789];

3 个答案:

答案 0 :(得分:0)

您可以将您的任务分解为两个独立的问题,我们将依次解决。

  1. 我们需要获取一组数字(例如 [1, 2 ,3])并将它们连接成一个字符串(例如 '123')。

事实上,JavaScript 中有一个专门的函数——join() 函数:

WheelTransform
  1. 我们需要对数组中的每个对象执行前面的函数,返回一个由转换后的对象组成的数组。

JavaScript 再次为您介绍,这次是使用 map() 函数:

[1, 2, 3].join(''); // '123'

我们现在要做的就是将它们连接在一起,这样我们对父数组的每个元素执行的操作就是将所有子元素连接在一起:

[a, b, c].map((element) => foo(element)); // [foo(a), foo(b), foo(c)]

答案 1 :(得分:0)

function foo(arr){
    let toReturn = [];

    for(let i = 0;i < arr.length;i++){
        toReturn.push(arr[i].join(""));
    }
    
    return(toReturn);
}

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

答案 2 :(得分:0)

您可以使用 reduce 将您的数据与 .join('') 结合起来,将每个数组项的所有元素项转换为一个值,如下所示:

const data = [[1,2,3],[4,5,6],[7,8,9]];
const result = data.reduce((acc, curr) => {
  acc.push(curr.join(''));
  
  return acc;
}, []);

console.log(result);

相关问题