数组常见属性和方法

来源:互联网 发布:淘宝天天特价衣服 编辑:程序博客网 时间:2024/06/18 10:52

基本属性

  • 数组的定义

var arr=[1,2,3];
var arr2=new Array(4);//创建长度为4的数组

  • 清空数组的两种方法

arr.length=0;
arr=[];


常用的方法

  • 记住:删除操作返回值就是删除的元素,添加操作返回值就是操作后的数组,当然splice()只有删除才有返回值,切记

  • arr.push():向数组中添加元素返回值为长度

var arr=[1,2,3];
arr.push(4);
alert(arr);//[1,2,3,4];
alert(arr.push('abc'));// 5

  • arr.shift():把数组头部的元素,返回值是去掉的那个元素

arr.shift()

  • arr.unshift():向数组头部添加一个元素返回值为长度

arr.unshift('qwe');//['qwe',1,2,3,4,'abc']

  • arr.pop():去掉最后一个;返回值是去掉的哪一个;

alert(arr2.shift());

  • arr.splice(0,1):splice可以做到shift,unshift,pop,push的功能,简直堪称多功能;

var arr=[1,2,3,4,5];
//删除
arr.splice(0,1);//从第0个开始,删掉1个;
alert(arr.splice(0,1));//只有删除才有返回值,返回删除的东西,其他两个种方法会返回操作后的arr
//替换
arr.splice(2,1,'abc');//从第0个开始,干掉1个,再再这儿添加一个‘abc
//添加
arr.splice(1,0,'qq');//再第1个的后面,删除0个,再在第1个后面添加个’qq
alert(arr)

- arr.concat():连接数组,返回值是一个新的数组;

var arr1=[1,2,3];
var arr2=[4,5,6];
alert(arr1.concat(arr2));//跟原来的数组没多大关系

- arr.reverse():颠倒顺序;

var arr1=[1,2,3];
alert(arr1.reverse());//[3,2,1]颠倒顺序

颠倒字符串的顺序

var str='abcdef';
alert(str.split('').reverse().join(''));

  • arr.sort():数组排序,默认是依据unicode编码排序的;

数组的自定义排序

var arr=['c','d','a','e'];
arr.sort();//遵循unicode编码排序
alert(arr);
var arr2=[2,34,15,6,7,8,89];
arr.sort();
alert(arr2);//2,34,5,6,7,8,89,不是真正的数字排序,他会先默认是字符串的方式排序的


**arr.sort()接收一个排序的function()作为参数**
arr2.sort(function (a,b) {
return a-b;
});
alert(arr2);//2,6,7,8,15,34,89;这下正常了,如果想从大到小排序,就改成b-a


当然,对于不是数组的数组元素,要先转换数据类型
var arr3=['12px','222px','35px'];
arr3.sort(function (a,b) {
return parseInt(a)-parseInt(b);
});
alert(arr3);

数组的去重

原理:先遍历数组,把每个数拿出来跟剩下的数做对比,相同就splice()掉。

var arr=[1,1,2,3,4,5,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--;//干掉一个后数组的长度会减一
}
}
}

原创粉丝点击