<html>
<head>
</head>
<body>
颜色:<input name='c0' type='checkbox' value='黑' />黑<input name='c0' type='checkbox' value='白' />白<br />
尺寸:<input name='c1' type='checkbox' value='大' />大<input name='c1' type='checkbox' value='小' />小<br />
大小:....
.
.
.
.
一些属性不定的
</body>
</html>或
var arr={黑,白,绿}
var arr2={大,小}
要实现输出
黑大
黑小
白大
白小
绿大
绿小
不要告诉我用多重for循环 因为数组个数不定 貌似用递推 但小弟递推写的不好
望高人大哥指点 谢谢
<head>
</head>
<body>
颜色:<input name='c0' type='checkbox' value='黑' />黑<input name='c0' type='checkbox' value='白' />白<br />
尺寸:<input name='c1' type='checkbox' value='大' />大<input name='c1' type='checkbox' value='小' />小<br />
大小:....
.
.
.
.
一些属性不定的
</body>
</html>或
var arr={黑,白,绿}
var arr2={大,小}
要实现输出
黑大
黑小
白大
白小
绿大
绿小
不要告诉我用多重for循环 因为数组个数不定 貌似用递推 但小弟递推写的不好
望高人大哥指点 谢谢
a[0] = ['黑','白','绿'];
a[1] = ['大','小'];
...
a.length=可以固定了吧
那
var a = [];
a[0] = ['黑','白','绿'];
a[1] = ['大','小'];
a[2] = ['轻','重'];
两重你能循环出
黑大轻
黑小轻
黑大重
黑小重
...
.
.
.
绿小重
这样的吗我觉得该用 那个迭代递推什么的
什么递归不递归的.不要把问题复杂化了.简单直接地解决是最好的方法.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<script type="text/javascript">
<!--
var a = [];
a[0] = ['黑','白','绿'];
a[1] = ['大','小'];
a[2] = ['轻','重'];var result = new Array();
var sample;
for (var i=0; i<a.length; i++)
{
sample = result.slice(0);
for (var j=0; j<a[i].length; j++)
{
if (sample.length == 0)
{
result.push(a[i][j]);
}
else
{
if (j > 0)
{
for (var k=0; k<sample.length; k++)
{
result.push(sample[k] + a[i][j]);
}
}
else
{
for (var k=0; k<result.length; k++)
{
result[k] += a[i][j];
}
}
}
}
}Show(result.join("<br />"));function Show(value) {
document.write(value + "<br />");
}/*Output黑大轻
白大轻
绿大轻
黑小轻
白小轻
绿小轻
黑大重
白大重
绿大重
黑小重
白小重
绿小重*/
//-->
</script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title> new document </title>
<meta name="generator" content="editplus" />
<meta name="author" content="[email protected]" />
<meta name="keywords" content="" />
<meta name="description" content="" />
</head>
<body>
<script type="text/javascript">
<!--
var a = [];
a[0] = ['黑','白','绿'];
a[1] = ['大','小'];
a[2] = ['轻','重'];var result = new Array();
var sample;
for (var i=0; i<a.length; i++)
{
sample = result.slice(0); if (sample.length == 0)
{
result = result.concat(a[i]);
}
else
{
result.splice(0, result.length); for (var j=0; j<a[i].length; j++)
{
for (var k=0; k<sample.length; k++)
result.push(sample[k] + a[i][j]);
}
}
}Show(result.join("<br />"));function Show(value) {
document.write(value + "<br />");
}/*Output黑大轻
白大轻
绿大轻
黑小轻
白小轻
绿小轻
黑大重
白大重
绿大重
黑小重
白小重
绿小重*/
//-->
</script>
</body>
</html>
<script type="text/javascript">
var a = [];
a[0] = ['黑','白','绿'];
a[1] = ['大','小'];
a[2] = ['轻','重'];
a[3] = ['长','短'];
a[4] = ['胖','瘦'];
var i,l,k,j=a.length,comb = a[0],cl=comb.length,r=[];
for(i=1;i<j;i++)
{
k = a[i].length;
for(var s=0;s<cl;s++)
{
for(l=0;l<k;l++ )
{
r[r.length] = (comb[s] || '') + a[i][l];
}
}
comb = r;
cl = comb.length;
r = [];
}
alert(comb);
</script>
var a = [];
a[0] = ['黑','白','绿'];
a[1] = ['大','小'];
a[2] = ['轻','重'];
a[3] = ['高','矮'];
a[4] = ['胖','瘦'];var resultArray = a[0];
var copyArray;
for (var i = 1; i < a.length; i++)
{
copyArray = resultArray.splice(0, resultArray.length);
for (var k = 0; k < copyArray.length; k++)
for (var j = 0; j < a[i].length; j++)
resultArray.push(copyArray[k] + a[i][j]);
}document.write(resultArray.join("<br />"));