Javascript 将二维数组填充到表中(输出所有可能的组合)
我有一个二维javascript数组Javascript 将二维数组填充到表中(输出所有可能的组合),javascript,jquery,html,arrays,loops,Javascript,Jquery,Html,Arrays,Loops,我有一个二维javascript数组var products=[[M,L,XL],[red,green],[longsleve,t-shirt]应该打印到HTML表中 每个表列应包含所有可能的组合之一。像这样: M red longsleve M red t-shirt M green longsleve M green t-shirt L red longsleve L red t-shirt L green longsleve L
var products=[[M,L,XL],[red,green],[longsleve,t-shirt]代码>应该打印到HTML表中
每个表列应包含所有可能的组合之一。像这样:
M red longsleve
M red t-shirt
M green longsleve
M green t-shirt
L red longsleve
L red t-shirt
L green longsleve
L green t-shirt
XL red longsleve
XL red t-shirt
XL green longsleve
XL green t-shirt
示例数组有3个事实(大小、颜色、类型),但它也应该与只有1个事实(大小)或n个事实的其他数组一起使用
不幸的是,所有这些迭代似乎让我发疯。我不明白:(您可以简单地使用三个嵌套循环。例如:
M red longsleve
M red t-shirt
M green longsleve
M green t-shirt
L red longsleve
L red t-shirt
L green longsleve
L green t-shirt
XL red longsleve
XL red t-shirt
XL green longsleve
XL green t-shirt
var产品=[
[M',L',XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt']
];
var table=document.querySelector('table');
对于(var i=0;i<乘积[0]。长度;i++){
对于(var j=0;j<乘积[1]。长度;j++){
对于(var k=0;k<乘积[2]。长度;k++){
表.insertAdjacentHTML('beforeend'[
'',
''+产品[0][i]+'',
''+产品[1][j]+'',
''+产品[2][k]+'',
''
].加入(“”);
}
}
}
表{边框折叠:折叠;}
表td{border:1px#AAA solid;padding:5px;}
您可以简单地使用三个嵌套循环。例如:
M red longsleve
M red t-shirt
M green longsleve
M green t-shirt
L red longsleve
L red t-shirt
L green longsleve
L green t-shirt
XL red longsleve
XL red t-shirt
XL green longsleve
XL green t-shirt
var产品=[
[M',L',XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt']
];
var table=document.querySelector('table');
对于(var i=0;i<乘积[0]。长度;i++){
对于(var j=0;j<乘积[1]。长度;j++){
对于(var k=0;k<乘积[2]。长度;k++){
表.insertAdjacentHTML('beforeend'[
'',
''+产品[0][i]+'',
''+产品[1][j]+'',
''+产品[2][k]+'',
''
].加入(“”);
}
}
}
表{边框折叠:折叠;}
表td{border:1px#AAA solid;padding:5px;}
您可以简单地使用三个嵌套循环。例如:
M red longsleve
M red t-shirt
M green longsleve
M green t-shirt
L red longsleve
L red t-shirt
L green longsleve
L green t-shirt
XL red longsleve
XL red t-shirt
XL green longsleve
XL green t-shirt
var产品=[
[M',L',XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt']
];
var table=document.querySelector('table');
对于(var i=0;i<乘积[0]。长度;i++){
对于(var j=0;j<乘积[1]。长度;j++){
对于(var k=0;k<乘积[2]。长度;k++){
表.insertAdjacentHTML('beforeend'[
'',
''+产品[0][i]+'',
''+产品[1][j]+'',
''+产品[2][k]+'',
''
].加入(“”);
}
}
}
表{边框折叠:折叠;}
表td{border:1px#AAA solid;padding:5px;}
您可以简单地使用三个嵌套循环。例如:
M red longsleve
M red t-shirt
M green longsleve
M green t-shirt
L red longsleve
L red t-shirt
L green longsleve
L green t-shirt
XL red longsleve
XL red t-shirt
XL green longsleve
XL green t-shirt
var产品=[
[M',L',XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt']
];
var table=document.querySelector('table');
对于(var i=0;i<乘积[0]。长度;i++){
对于(var j=0;j<乘积[1]。长度;j++){
对于(var k=0;k<乘积[2]。长度;k++){
表.insertAdjacentHTML('beforeend'[
'',
''+产品[0][i]+'',
''+产品[1][j]+'',
''+产品[2][k]+'',
''
].加入(“”);
}
}
}
表{边框折叠:折叠;}
表td{border:1px#AAA solid;padding:5px;}
如果要处理任意长度的数组,需要递归解决方案:
var产品=[['M'、'L'、'XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt'],
[‘男孩’、‘女孩’]
];
功能构建(arr,前缀){
var s='';
arr[0]。forEach(函数(val){
var sl=阵列切片(1),
out=前缀+“”+val;
如果(sl长度){
s+=构建(sl,out);
}
否则{
s+=输出;
}
});
返回s;
}//构建
document.body.innerHTML=''+build(products'')+'';
表格{
字体:12px verdana;
边界塌陷:塌陷;
}
运输署{
填充:0.2米;
边框:1px实心#ddd;
}
如果要处理任意长度的数组,需要递归解决方案:
var产品=[['M'、'L'、'XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt'],
[‘男孩’、‘女孩’]
];
功能构建(arr,前缀){
var s='';
arr[0]。forEach(函数(val){
var sl=阵列切片(1),
out=前缀+“”+val;
如果(sl长度){
s+=构建(sl,out);
}
否则{
s+=输出;
}
});
返回s;
}//构建
document.body.innerHTML=''+build(products'')+'';
表格{
字体:12px verdana;
边界塌陷:塌陷;
}
运输署{
填充:0.2米;
边框:1px实心#ddd;
}
如果要处理任意长度的数组,需要递归解决方案:
var产品=[['M'、'L'、'XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt'],
[‘男孩’、‘女孩’]
];
功能构建(arr,前缀){
var s='';
arr[0]。forEach(函数(val){
var sl=阵列切片(1),
out=前缀+“”+val;
如果(sl长度){
s+=构建(sl,out);
}
否则{
s+=输出;
}
});
返回s;
}//构建
document.body.innerHTML=''+build(products'')+'';
表格{
字体:12px verdana;
边界塌陷:塌陷;
}
运输署{
填充:0.2米;
边框:1px实心#ddd;
}
如果要处理任意长度的数组,需要递归解决方案:
var产品=[['M'、'L'、'XL'],
[‘红色’、‘绿色’],
['longsleve','t-shirt'],
[‘男孩’、‘女孩’]
];
功能构建(arr,前缀){
var s='1〕