1. <script language="javascript">
var s = [[]];
s.push("dddd");
alert(s[0]);
alert(s[1]);
var a = [];
a[0] = "1111";
a[1] = "2222";
s.push(a);
alert(s[1]);
alert(s[2]);
</script>
解析:
[[]]是一个一维数组,不过数组值也是数组
不过数组的第一个位置是一个空数组
相当于这样子
var s = [[]];
s[0][0]="1111";
s[0][1]="2222";
alert(s[0][0]);
与下面等效
var s = new array();
s[0][0]="1111";
s[0][1]="2222";
alert(s[0][0]);
2.求N(N>0)个元素的子集
<script language="javascript">
var elements = ["a","b","c","d"];
function buildSet(set, elements)
{
if (elements.length == 0)
return;
var n = set.length;
var newele = elements.shift();
for (var i=0; i < n; i++)
{
var subset = new Array();
for (var j=0; j < set[i].length; j++)
subset.push(set[i][j]);
subset.push(newele);
set.push(subset);
}
buildSet(set, elements);
}
var set = [[]];
buildSet(set,elements);
for (var i=0; i < set.length; i++)
{
var s = "{";
for (var j=0; j < set[i].length; j++)
{
if (j != 0)
s += ",";
s += set[i][j];
}
s += "}";
document.write(s + "<BR>");
}
</script>