1.定义:
① var arr = [1,2,3];
② var arr = new Array(1,2,3);
2.属性:
length-->可对数组进行读、写
var arr =[1,2,3];
alert(arr.length); // 3
arr.length = 1 ; //此时数组里仅剩下一个值,其它值被清空
扩展:快速清空数组元素的方法:
① arr.length = 0;
② arr[]; //效率比上面的高点
3.方法:
① 添加:push()、unshift()
push():添加值到数组末尾,返回数组的最新长度
unshift():添加值到数组前端,返回数组的最新长度
② 删除:pop()、shift()
pop():删除数组最后面的值,返回被删除的那个值
shift():删除数组最前面的值,返回被删除的那个值
实例:
③ 添加、删除、替换:splice()
splice():能对数组元素进行添加、删除、替换操作,返回值为被删除的那个值,如果没有删除操作,将无返回值。
实例:
④ 排序:sort()
方式一:按照字符编码排序
var arr = ['b','d','a','c'];
arr.sort();
alert(arr); //a,b,c,d
方式二:借助比较函数去排序
实例:有序排序
实例:随机排序
扩展:随机函数Math.random();
原文出处:http://www.cnblogs.com/banmengbanxing/p/4583790.html
① var arr = [1,2,3];
② var arr = new Array(1,2,3);
2.属性:
length-->可对数组进行读、写
var arr =[1,2,3];
alert(arr.length); // 3
arr.length = 1 ; //此时数组里仅剩下一个值,其它值被清空
扩展:快速清空数组元素的方法:
① arr.length = 0;
② arr[]; //效率比上面的高点
3.方法:
① 添加:push()、unshift()
push():添加值到数组末尾,返回数组的最新长度
unshift():添加值到数组前端,返回数组的最新长度
② 删除:pop()、shift()
pop():删除数组最后面的值,返回被删除的那个值
shift():删除数组最前面的值,返回被删除的那个值
实例:
<script>
var arr =[1,2,3,4,5,6];
arr.unshift(arr.pop()); //把数组的最后一个值删除并插入到第一个位置
alert(arr); //6,1,2,3,4,5
</script>
<script>
var arr =[1,2,3,4,5,6];
arr.push(arr.shift()); //把数组的第一个值删除并插入到最后一个位置
alert(arr); //2,3,4,5,6,1
</script>
③ 添加、删除、替换:splice()
splice():能对数组元素进行添加、删除、替换操作,返回值为被删除的那个值,如果没有删除操作,将无返回值。
实例:
var arr = [1,2,3,4,5,6];
arr.splice(0,2); // 从第0位开始,删除两个值
alert(arr); // 3,4,5,6
arr.splice(4,1,'lily'); //从第4位开始,添加1个值“lily”
alert(arr); //3,4,5,6,lily
arr.splice(1,0,'jack'); //把4换成'jack'
// alert(arr); //3,jack,4,5,6,lily
实例:数组去重
<script>
var arr =[1,2,3,4,3,2,3,5,6];
for(var i=0; i<arr.length; i++){
for(var j=i+1; j<arr.length; j++){
if(arr[i] == arr[j]){
arr.splice(j,1);
j--;
}
}
}
alert(arr); // 1,2,3,4,5,6
</script>
④ 排序:sort()
方式一:按照字符编码排序
var arr = ['b','d','a','c'];
arr.sort();
alert(arr); //a,b,c,d
var arr = ['b','d','a','c'];
arr.sort();
alert(arr); //a,b,c,d
方式二:借助比较函数去排序
实例:有序排序
<script>
var arrWidth = ['10px','30px','222px','2px'];
arrWidth.sort(function(a,b){
return parseInt(a)-parseInt(b);
});
alert(arrWidth); //2px,10px,30px,222px
</script>
实例:随机排序
<script>
var arr = [1,2,3,4,5,6,7];
arr.sort(function(a,b){
return Math.random()-0.5;
});
alert(arr); //2,3,1,5,6,4,7
</script>
扩展:随机函数Math.random();
Math.random()是0~1之间的随机函数
Math.round()是四舍五入取整的函数
Math.ceil()向上取整函数
0~1之间的随机整数:Math.round(Math.random());
0~10之间的随机整数:Math.round(Math.random()*10);
5~10之间的随机整数:Math.round(Math.random()*5+5);
10~20之间的随机整数:Math.round(Math.random()*10+10);
20~100之间的随机整数:Math.round(Math.random()*80+20);
由上:
x~y之间的随机整数:
Math.round(Math.random()*(y-x))+x);
0~x之间的随机整数:
Math.round(Math.random()*x);
1~x之间的随机整数:
Math.ceil(Math.random()*x);
④ 连接数组:concat()
var arr1 = [1,2,3];
var arr2 = [4,5,6];
var arr3 = [7,8,9];
alert(arr1.concat(arr2,arr3)); //1,2,3,4,5,6,7,8,9
⑤ 颠倒数组位置: reverse()
var arr1 = [1,2,3,4,5,6];
arr1.reverse();
alert(arr1); //6,5,4,3,2,1
扩展:颠倒字符串位置
var str = "abcdef";
alert(str.split('').reverse().join('')); //fedcba
原文出处:http://www.cnblogs.com/banmengbanxing/p/4583790.html