javascript数组问题

来源:互联网 发布:iphonex怎么关掉软件 编辑:程序博客网 时间:2024/06/06 14:21

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>  

原创粉丝点击