js二维数组

我们经常会用到二维数组,但是 没有二维数组,那么我们应该咋办呢?就是在一维数组里面在创建一个一维数组。

var arr = new Array(10);
for (var i = 0; i < arr.length; i++) {
  arr[i]=new Array(8);
//不一定写for循环赋值,还可以直接赋值,在数量有限的情况下
  for (var j = 0; j < 8; j ++) {
    a[i][j]=i+j;
  }

谨慎使用childNodes

childNodes是获取一个节点下的所有子节点,当我想获取的只是li节点的时候,我以为数组长度应该是7的时候,没想到数组的长度是15;不仅包括li元素还

\"\"

 <ul id=\"source\">
    <li>北京空气质量:<b>90</b></li>
    <li>上海空气质量:<b>70</b></li>
    <li>天津空气质量:<b>80</b></li>
    <li>广州空气质量:<b>50</b></li>
    <li>深圳空气质量:<b>40</b></li>
    <li>福州空气质量:<b>32</b></li>
    <li>成都空气质量:<b>90</b></li>
  </ul>
< >
var sourceList=document.getElementById(\"source\").childNodes;
  console.log(sourceList);
</ >

如何提取子元素和文本节点的值

提取上述 <li>北京空气质量:<b>90</b></li>,提取出里面的“北京空气质量”,“90”并放入二维数组中

function getData() {
  var data=new Array(7);
 var source=document.getElementById(\"source\");
 var cites=source.getElementsByTagName(\"li\");
  var bList=document.getElementsByTagName(\"b\");
 for (var i = 0; i < cites.length; i++) {
       data[i]=new Array(2); 
       data[i][0]=cites[i].innerHTML.substring(0,cites[i].innerHTML.indexOf(\"<b>\"));  
       data[i][1]=bList[i].innerHTML;
      
 }

//首先是获取所有的li元素

var source=document.getElementById(\"source\");

var cities=source.getElementsByTagName(\"li\");

//获取里面的文本

for(var i=0;i<cities.length;i++)

{

cites[i].innerHTML.substring(0,cites[i].innerHTML.indexOf(\"<b>\"));//获取到文本

//innerHTML获得的值是:北京空气质量:<b>90</b>

通过indexOf找到特殊字符,返回特殊字符的位置,这样substring才能返回正确的子字符串

}

//获取<b>里面的数字

var bList=document.getElementsByTagName(\"b\");

for(var i=0;i<cites.length;i++)

{

bList[i].innerHTML//获取到li元素里面b元素的内容

}

收藏 打印