Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript-组合多维数组的元素_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

Javascript-组合多维数组的元素

Javascript-组合多维数组的元素,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我正在尝试组合多维数组的所有元素,以获得元素的组合 e、 g.如果我有 var array = [ ['a'], ['1', '2', '3', '4'], ['A'] ]; 结果必须如下所示: ["a1A", "a2A", "a3A", "a4A"] 我可以通过以下代码实现此结果: var finalArray = []; var f1 = 0; for (var i = 0; i < array.length - 1; i ++)

我正在尝试组合多维数组的所有元素,以获得元素的组合

e、 g.如果我有

var array = [
      ['a'],
      ['1', '2', '3', '4'],
      ['A']
];
结果必须如下所示:

["a1A", "a2A", "a3A", "a4A"]
我可以通过以下代码实现此结果:

  var finalArray = [];
  var f1 = 0;

  for (var i = 0; i < array.length - 1; i ++) {
        f1 = 0;
        for (var j = 0; j < array[i].length; j ++) {
              for (var k = 0; k < array[i + 1].length; k ++) {
                    if (finalArray[f1])
                          finalArray[f1] += array[i + 1][k];
                    else 
                          finalArray[f1] = array[i][j] + array[i + 1][k];

                    f1 ++;
              }
        }
  }

  console.log(finalArray);
返回:

["a1A", "a2A", "a3A", "a4A", "b1", "b2", "b3", "b4"]
应该是:

["a1A", "a2A", "a3A", "a4A", "b1A", "b2A", "b3A", "b4A"]

非常感谢您对修复我的代码所提供的任何帮助。

您可以使用迭代和递归的方法来处理可变长度的零件及其长度

函数组合(数组){
功能c(部分,索引){
数组[index].forEach(函数(a){
var p=部分混凝土(a);
if(p.length==array.length){
r、 推(p.join(“”));
返回;
}
c(p,指数+1);
});
}
var r=[];
c([],0);
返回r;
}
var result=combine(['a','b','c'],['1','2','3','4'],['a','b']);

document.write(“”+JSON.stringify(结果,0,4)+“”)["a1A", "a2A", "a3A", "a4A", "b1A", "b2A", "b3A", "b4A"]