你好,stackoverflow成员。当维数是可变的时,如何处理多维数组?
我提供了下列问题:
首先我们有
var myArray = [[array1],[array2],[array3],[arrayN],...];
其中每个数组充满了已知数量的字符串,如
var array1 = ["a","b"], array2 = ["1","2"], array3=["&","é"];....
等。
我正在寻找一种方法来得到这样的结果:
expected result ===> a1&;a1é;a2&;a2é;b1&;b1é;b2&;b2é; ....
如果维度的数量是固定的,我可以用for循环迭代和建设的结果,但这里的问题是,我想为了能够在主数组myArray
中输入N个数组,并且通过这样做,我改变了嵌套循环的深度。
如果不是你有什么想法让我走上这个解决方案的轨道?
谢谢!
编辑通过这个办法是我尝试:
for (i=0; i<myArray[0].length; i++){
for (var j =0; j<myArray[1].length; i++){
for(var k = 0; k<myArray[2].length; k++{
console.log(i+j+k);
}
}
}
BTW我不能找到一种方式来描述一个函数,它会为循环嵌套N,其中N是myArray.length + 1(数myArray中的数组)。
编辑:我发现这样做的一个迭代的方式,并希望分享的解决方案:JSFiddle
_“有库quicly实现这一目标?” _问图书馆的建议是对堆栈溢出专门offtopic - 您可能想要重述您的问题的部分内容,也许还包括您自己迄今为止尝试解决此问题的任何研究/代码。 –
对不起这个问题到底是什么?无论你有多少个嵌套数组,你都可以很容易地循环遍历它们,因为它们都有一个'length'属性,而且都不知道长度。它只是将内容附加到全局字符串并完成。 – somethinghere
所以你循环阵列....不知道什么是硬 – epascarello