JavaScript-使用concat方法而不是push方法连接数组的数组

JavaScript-使用concat方法而不是push方法连接数组的数组,javascript,arrays,push,nested-loops,concat,Javascript,Arrays,Push,Nested Loops,Concat,我遇到一个问题,要求我加入一个数组的数组,并以[array[0][0]、array[0][1]、array[1][0]、array[1][1]等形式返回单个数组。我用嵌套for循环中的push方法解决了这个问题,但是提示说我应该熟悉concat方法。我知道concat方法的语法以及它是如何工作的,但我不知道如何使用它来完成提示要求的操作 以下是我使用推送方法的解决方案: 如何使用concat方法返回相同的输出?尝试使用reduce: arr.reduce((a, e) => a.conca

我遇到一个问题,要求我加入一个数组的数组,并以[array[0][0]、array[0][1]、array[1][0]、array[1][1]等形式返回单个数组。我用嵌套for循环中的push方法解决了这个问题,但是提示说我应该熟悉concat方法。我知道concat方法的语法以及它是如何工作的,但我不知道如何使用它来完成提示要求的操作

以下是我使用推送方法的解决方案:

如何使用concat方法返回相同的输出?

尝试使用reduce:

arr.reduce((a, e) => a.concat(e))
尝试使用reduce:

arr.reduce((a, e) => a.concat(e))

如果要使用串联,则不需要第二个循环,只需在单个循环中串联每个子数组即可。需要记住的一点是,它不会修改exist数组,而是返回一个新数组:

函数joinArrayOfArraysarr{ var=[]; 对于变量i=0;i; 如果要使用串联,则不需要第二个循环,只需在单个循环中串联每个子数组即可。需要记住的一点是,它不会修改exist数组,而是返回一个新数组:

函数joinArrayOfArraysarr{ var=[]; 对于变量i=0;i; 可以使用扩展元素前置数组作为.concat的参数

设res=[].concat…[[1,4],[true,false],'x','y'];
console.logres 可以使用扩展元素前置数组作为.concat的参数

设res=[].concat…[[1,4],[true,false],'x','y'];
console.logres 如果您试图练习数组方法,我建议您在MDN上查找reduce方法,并将此解决方案作为for循环的替代方案来适应此问题:

function joinArrayOfArrays(arr) {
      return arr.reduce(function(a, b) {
        return a.concat(b);
      }); 
    }

    var output = joinArrayOfArrays([[1, 4], [true, false], ['x', 'y']]);
    console.log(output); 
    // [1, 4, true, false, "x", "y"]

如果您试图练习数组方法,我建议您在MDN上查找reduce方法,并将此解决方案作为for循环的替代方案来适应此问题:

function joinArrayOfArrays(arr) {
      return arr.reduce(function(a, b) {
        return a.concat(b);
      }); 
    }

    var output = joinArrayOfArrays([[1, 4], [true, false], ['x', 'y']]);
    console.log(output); 
    // [1, 4, true, false, "x", "y"]

不需要第二个[]参数。如果省略它,则表示希望使用数组中的第一项作为起始值。另外,一点空白也不会伤害任何人:arr.reducea,e=>a.concate谢谢你的建议!我刚刚做了一个编辑来实现这个技巧。不需要第二个[]参数。如果省略它,则表示希望使用数组中的第一项作为起始值。另外,一点空白也不会伤害任何人:arr.reducea,e=>a.concate谢谢你的建议!我刚刚做了一个编辑来实现这个技巧。谢谢!除了将的赋值加入到concat方法之外,我拥有了一切。@Michael很高兴帮助mate:With rest and spread:var joinArrayOfArrays=…args=>[]concat…args-谢谢,我是新来的。现在我明白了,我无法使用数组连接得到解决方案的原因是我假设concat修改了现有的数组。因此,也感谢您提供的关键信息。谢谢!除了将的赋值加入到concat方法之外,我拥有了一切。@Michael很高兴帮助mate:With rest and spread:var joinArrayOfArrays=…args=>[]concat…args-谢谢,我是新来的。现在我明白了,我无法使用数组连接得到解决方案的原因是我假设concat修改了现有的数组。所以也谢谢你的关键信息。谢谢!这个特别的问题是专门要求concat方法,但我一定会这样做。谢谢!这个特殊的问题特别要求使用concat方法,但我肯定会这样做。