数组常见属性和方法
来源:互联网 发布:淘宝天天特价衣服 编辑:程序博客网 时间: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--;//干掉一个后数组的长度会减一
}
}
}
- 数组常见属性和方法
- UIView常见属性和方法
- UITableView常见属性和方法
- Slider常见属性和方法
- JavaScript 数组的常见操作和属性
- JavaScript数组属性和方法
- [JavaScript] document的常见属性和方法
- js window常见属性和方法
- TWebBrowser的常见属性和方法
- window对象的常见属性和方法
- UILabel 的常见属性和方法:
- UIApplication常见属性和常用方法
- UIView的常见属性和方法
- NSString的常见属性和方法
- iOS UIPickerView的常见属性和方法
- 1.7Java数组的常见操作和实体的属性
- Javascript数组对象的方法和属性
- Javascript数组对象的方法和属性
- 内核扩展数据包的方法之-----skb_copy_expand
- gcc和g++编译c或者c++文件碰到的问题
- c++ builder 中的 XMLDocument 类详解(5)
- 二叉树重建(转载)
- Android 问题总结
- 数组常见属性和方法
- android 利用一条 adb命令行 秒速找到当前显示界面的Activity类名
- java求最大公约数和最小公倍数
- web 杂记(input(checked) layer.confirm)
- Java之抽象(abstract)类、接口(interface)的用法总结
- 浮点数比较
- ormlite 删除对象时注意事项
- Nginx+tomcat配置集群负载均衡
- OSI七层模型详解(物理层、数据链路层、网络层、传输层.....应用层协议与硬件)