代码之家  ›  专栏  ›  技术社区  ›  Cheryl Blossom

如何将数组组合成数组?[复制品]

  •  -1
  • Cheryl Blossom  · 技术社区  · 7 年前

    所以,我有两个数组:

    var num = [1, 2, 3];
    var letters = ['a', 'b', 'c'];
    

    我需要把它组合成这样的东西:

    var result = [[1, 'a', 'numberandletters'],[2, 'b', 'numberandletters'],[3, 'c', 'numberandletters']]
    

    数组中的第三个元素在填充时是常量。到目前为止,我的代码是:

    for (var x=0; x=3; x++)
         result[x] = [num[x], letters[x], 'numberandletters']
    

    但我需要在不循环语句的情况下执行它。 有什么函数或者什么东西可以用来组合这些数组吗?

    2 回复  |  直到 7 年前
        1
  •  0
  •   prabin badyakar    7 年前
    var num = [1, 2, 3];
    var letters = ['a', 'b', 'c'];
    
    num.map((n,i) => Array(n, letters[i], 'nummberAndLetters'))
    

    输出:如您所料。

    如果你想把它作为一个函数,那么,

    function getCombinedArray(num, letter) {
        return num.map((n,i) => Array(n, letters[i], 'nummberAndLetters'));
    }
    
    getCombinedArray(num, letters);
    
        2
  •  0
  •   holydragon    7 年前

    可以。这就是当您不想使用循环时的情况。

    const num = [1, 2, 3]
    const letters = ['a', 'b', 'c']
    let result = [
      [
        num[0],
        letters[0],
        'numberandletters'
      ],
      [
        num[1],
        letters[1],
        'numberAndLetter'
      ],
      [
        num[2],
        letters[2],
        'numberAndLetter'
      ]
    ]
    console.log(result)