var arr= [[1,2,3],[1,2],[1,2,3,4]];
以下是我的静态示例数组。这里我所做的是组合第一、第二和第三数组值。
for (var a1=0;a1<arr[0].length;a1++) {
for (var a2=0;a2<arr[1].length;a2++) {
for (var a3=0;a3<arr[2].length;a3++) {
console.log(arr[0][a1]+""+arr[1][a2] + "" +arr[2][a3]);
}
}
}
//Output
//111,112,113,114,121,122,123,124
//211,212,213,214,221,222,223,224
//311,312,313,314,321,322,323,324
[[1,2,3],[1,2]]
所以在这里我如何组合值是//11,12,21,22,31,32
所以将来数组将不再是静态的。是否有任何内置的 javascript 函数可以执行相同的操作
或者我怎样才能使这个动态化?
最佳答案
您可以将 Array.reduce 与此回调一起使用:
function combine(p,v){
var r = []
for(var i=0;i<p.length;i++){
for(var j=0;j<v.length;j++){
r.push([p[i],v[j]].join(''))
}
}
return r
}
var x = a.reduce(combine,[''])
关于javascript - 在javascript中组合N个数组值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32570218/