1.创建数组
1.1 var myArray=new Array();
这种声明方式可以向数组添加任意多的元素,可以添加任意类型的元素;此时数组的length属性值等于最大索引值+1;
//js数组可以存储任何数据类型
var mycars1 = new Array();
mycars1[0] = "Saab1";
mycars1[1] = "Volvo1";
mycars1[2] = "BMW1";
//alert(mycars1.length);//等于3
1.2 var myArray=new Array(size);
这种声明方式可以向数组添加任意多的元素
var mycars2 = new Array(3);
mycars2[0] = "Saab2";
mycars2[1] = "Volvo2";
mycars2[2] = "BMW2";
mycars2[3] = "BMW2";
alert(mycars2.length);//等于4
1.3 构造方式中参数初始化数组方式
var mycars3 = new Array("Saab3","Volvo3","BMW3");
2.遍历数组元素
以下遍历方式,在实际元素个数大于定义个数时,都会打印实际元素。
但在实际元素个数小于定义个数时,例如上面mycars2只初始化了前两个元素,那么for in打印方式会只打印这两个元素;而另两种方式把第三个元素也打印出来,只不过打印的是undefined.
2.1 for
for(var i=0;i<mycars2.length;i++){
alert('mycars2['+i+']'+'='+mycars2[i]);//通过索引访问数组元素
}
2.2 for...in
for(var index in mycars2){
alert('mycars2['+index+']'+'='+mycars2[index]);
}
2.3 while
var j=0;
while(j<mycars2.length){
alert('mycars2['+j+']'+'='+mycars2[j]);
j++;
}
3.修改数组元素
直接使用索引修改
mycars3[2] = "BYD3"; //修改数组元素的值
4.合并数组
如下,将mycars2添加到mycars1数组后面返回,mycars1本身没有改变。
var temparr = mycars1.concat(mycars2);//合并数组
5.数组转为字符串
var jmycar1 = mycars1.join();//数组元素组成的字符串,元素间默认以“,”分隔
alert(jmycar1);
jmycar1 = mycars1.join('|');//数组元素组成的字符串,参数代表分隔字符
alert(jmycar1);
6.数组排序
排序方法sort默认情况下是按字母顺序排序的,假如你想排1~10,那么会发现10比2要小。因此如果要想按数字排序,需要重新指定排序规则。
jmycar1 = mycars1.sort();//对数组进行排序,默认以字母顺序排序
alert(jmycar1);
var arrNum = new Array('4','1','3','5','2','6');
var arrNums = arrNum.sort();//对数组进行排序,指定排序规则
alert(arrNums);
//如果想按数字排序,需要:mycars1.sort(function(a,b){return parseInt(a)>parseInt(b)?1:-1});
7.弹栈
var pmycar2 = mycars2.pop();//弹出数组尾部的元素,并返回
alert(pmycar2);