例如,我有一个数组:
[
[a, b],
[1, 2],
[一, 二]
]
现在要的结果:
[
[a, 1, 一],
[a, 1, 二],
[a, 2, 一],
[a, 2, 二],
[b, 1, 一],
[b, 1, 二],
[b, 2, 一],
[b, 2, 二]
]
该如何实现?
例如,我有一个数组:
[
[a, b],
[1, 2],
[一, 二]
]
现在要的结果:
[
[a, 1, 一],
[a, 1, 二],
[a, 2, 一],
[a, 2, 二],
[b, 1, 一],
[b, 1, 二],
[b, 2, 一],
[b, 2, 二]
]
该如何实现?
let res=[];
let k=0;
for(let i in a){
for (let j in a[i]){
res[k].push(a[i][j]);
k++;
}
}
var data = [
['a', 'b'],
[1, 2],
['一', '二']
]
function combineData(cur, index) {
if (index >= data.length) {
return [cur]
}
var value = data[index];
return value.reduce(function(r, v) {
var row = [].concat(cur);
row.push(v);
return r.concat(combineData(row, index + 1))
}, [])
}
console.log(JSON.stringify(combineData([], 0)))
[["a",1,"一"],["a",1,"二"],["a",2,"一"],["a",2,"二"],["b",1,"一"],["b",1,"二"],["b",2,"一"],["b",2,"二"]]
13 回答13k 阅读
2 回答5.2k 阅读✓ 已解决
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决