数组定义:
var arr = [12,5,8,9]; var arr = new Array(12,5,8,9);
数组的length属性:
1. length即可以获取数组的长度,又可以设置数组的长度
2. 和其他语言不同的是js的数组的长度是动态改变的,js数组中可以存放任意类型数据,但是最好只存放一种类型的数据
<script> var arr = [12,5,8,9]; var res = arr.push(3); alert(res); // 返回值为数组的长度5 </script>
<script> var arr = [12,5,8,9]; var res = arr.pop(); alert(res); // 返回值为移除的元素9 </script>
<script> var arr = [12,5,8,9]; var res = arr.shift(); alert(res); // 返回值为移除的元素12 </script>
<script> var arr = [12,5,8,9]; var res = arr.unshift(3); alert(res); // 返回数组的长度5 </script>
<script> var arr = [12,5,8,9]; //arr.slice(1,3)的意思是:截取下标 (大于等于1,小于3)的值 var res = arr.slice(1,3); alert(res); // 返回值为5,8 alert(arr); // 返回12,5,8,9 可见slice方法不操作数组本身 </script>
var arr = [12,5,8,9]; var res = arr.splice(1,3);// 从下标为1的值开始,删除3个元素 alert(res); // 返回值为删除的元素:5,8,9 alert(arr); // 返回12 可见splice方法会操作数组本身
var arr = [12,5,8,9]; var res = arr.splice(1,3,44,55);// 从下标为1的值开始,删除3个元素,然后在添加2个元素,44,55 alert(res); // 返回值为删除的元素:5,8,9 alert(arr); // 返回12,44,55
var arr = [12,5,8,9]; var res = arr.splice(1,0,44,55);// 从下标为1的值开始,删除0个元素(不删除元素),然后在从下标为1的位置添加2个元素,44,55 alert(res); // 返回值为删除的元素:为空 alert(arr); // 返回12,44,55,8,9
var arr1 = [12,5,8,9]; var arr2 = [33,44]; var res = arr1.concat(arr2); alert(res); // 12,5,8,9,33,44连接多个数组
var arr1 = [12,5,8,9]; var arr2 = [33,44]; var arr3 =['A','B']; var res = arr1.concat(arr2,arr3); alert(res); // 打印出12,5,8,9,33,44,A,B alert(arr1);// 打印12,5,8,9 ,可见concat方法不操作数组本身 alert(arr3);// 打印 A,B
var arr1 = [12,5,8,9]; var res = arr1.join('*'); alert(res); // 12*5*8*9 alert(arr1);// 打印12,5,8,9,可见join方法也不操作数组本身
补充:
//js中字符串有个split的用法:用来将字符串分割为数组 var str='12*5*8*9'; var res = str.split('*');//用字符*来分割 alert(res);
var arr = [12,5,8,9,10,1]; var res = arr.sort(arr); alert(res); //打印结果1,10,12,5,8,9,并不是我们想象的1,5,8,9,10,12 alert(arr);// 打印1,10,12,5,8,9 ,可见sort方法操作数组本身为了清楚理解sort的排序原理
var arr = [12,5,'a',8,'A','D',9,10,1,'c']; var res = arr.sort(arr); alert(res); //1,10,12,5,8,9,A,D,a,c
1)数字0~9比字母要小。如"7"<"F";
2)数字0比数字9要小,并按0到9顺序递增。如"3"<"8"
3)字母A比字母Z要小,并按A到Z顺序递增。如"A"<"Z","a"<"z"
4)大写字母比小写字母要小。如"A"<"a","D"<"a"。
如果想通过sort实现对数字进行大小的比较,我们需要自定义一个“比较函数”作为参数传给sort。例如
function compare(n1,n2){ // 自定义比较的函数 if(n1<n2){ return -1; } else if(n1>n2){ return 1; } else{ return 0; } } var arr = [12,5,8,9,10,1]; var res = arr.sort(compare);//通过自定义的函数对 数字进行正序排序 alert(res); // 打印 1,5,8,9,10,12
// 简单的写法 function compare(n1,n2){ return n1 -n2;// 从小到大排序 } var arr = [12,5,8,9,10,1]; var res = arr.sort(compare);//通过自定义的函数对 数字进行正序排序 alert(res); // 打印 1,5,8,9,10,12
function compare(n1,n2){ return n2-n1;//从大到小排列 }
var arr = [12,5,8,9,10,2]; var res = arr.reverse(); alert(res); //打印2.10,9,8,5,12 alert(arr);//打印2.10,9,8,5,12 可见reverse方法操作数组本身
//字符串 var arr = ['Zhangsan','Lisi','Wangwu','Zhaoliu']; var res = arr.reverse(); alert(res); //打印 Zhaoliu.Wangwu,Lisi,Zhangsan
原文地址:http://blog.csdn.net/u014205965/article/details/45917833