06 js数组
js中的数组相当于java中的集合,它可以存放不同数据类型的数据,也无需指定长度,它是变长的。
当访问数组中一个不存在的元素时,返回undefined。
接下来按照数组的声明,length的注意点以及数组的遍历来讲解。
数组的声明
//第一种:声明并指定长度(指定了也是可变长的,默认空填充)
var arr1 = new Array();//如为new Array(5)则表示长度为5的数组
arr1[0] = 1;
//第二种:声明并赋值
var arr2 = [1,3,5,7];
document.write(arr2);
//第三种:
var arr3=[];//与第一种相同其实
arr3[0]=9;
数组的遍历
可以使用普通循环遍历,这里讲一下for-in循环遍历。
与java中的for-each循环不同,for-in每次获取的是数组的下标,java中的for-each是获取的具体元素。
完整测试代码
<script type="text/javascript"> //数组声明的三种方式 //第一种: var arr1 = new Array();//如为new Array(5)则表示长度为5的数组 arr1[0] = 1; document.write(arr1); document.write("<br/>"); //第二种: var arr2 = [1,3,5,7]; document.write(arr2); document.write("<br/>"); //第三种: var arr3=[];//与第一种相同其实 arr3[0]=9; document.write(arr3); document.write("<br/>"); //数组的长度length //可以直接添加,没有值的部分默认为空,逗号分隔 arr3[10] = "哈哈"; document.write(arr3); document.write("<br/>"); //length 获取数组的长度 document.write(arr3.length); document.write("<br/>"); // length可以直接赋值,超出原有长度以空填充,低于原有长度截取超出部分 arr3.length = 2; document.write(arr3) document.write("<br/>"); //数组的遍历 //普通for循环 for(var i=0;i<arr2.length;i++){ document.write(arr2[i]+" "); } document.write("<br/>"); //for-in循环,获取的是下标而不是数据类型 for(var i in arr2){ document.write(arr2[i]+" "); } </script>