当前位置:编程学习 > JAVA >>

JavaScript数组常用操作

本人第一篇文章,现在要开始养成写技术博客的习惯,并且保证平均每周至少一篇。对于代码相关的能测试的一定要进行测试。

1.创建数组
只是声明了数组,并不包含具体数据。
Java代码 
var checkboxlist = new array(); 

创建数组并指定长度,这个长度5是可以变的,可以自动增长。
Java代码 
var checkboxlist = new array(5); 

创建数组,并初始化了三个元素。
Java代码 
var checkboxlist = new array("1111","2222","3333"); 

2.数组操作
2.1 push() 数组末尾添加元素,返回数组最新长度

将字符串"userid001"放入数组末尾
Java代码 
checkboxlist.push("userid001"); 

一次添加两个元素,"aaaa"与"bbbb"
Java代码 
checkboxlist.push("aaaa","bbbb"); 

2.2 unshift() 数组开头,插入元素,原有元素后移
在数组开头插入两个元素。
(有资料说返回值是数组最新长度,不过我在ie6测返回是"undefined")
Java代码 
checkboxlist.unshift("aaaa","bbbb"); 

2.3 pop() 移出数组末尾的一个元素,并返回该元素。
代码:
Java代码 
checkboxlist.pop(); 

2.3 shift() 移出数组开头的一个元素,并返回该元素
代码:
Java代码 
checkboxlist.shift() 

2.4 splice() 插入(替换)或者移除多个元素
移除示例:
splice(delindex,delcount);
delindex:开始移除的位置,也就是数组的下标,从0开始。
delcount:移除元素的个数。
从数组的第一个元素开始,移除2个元素。
Java代码 
checkboxlist.splice(0,2); 

如:在执行完checkboxlist.splice(1,2)后,数组由原来的4个元素变成了只有"1111","4444"两个元素。
Java代码 
var checkboxlist = new array();checkboxlist.push("1111");checkboxlist.push("2222");checkboxlist.push("3333");checkboxlist.push("4444");//从数组的第二个元素开始,移除2个元素。checkboxlist.splice(1,2);alert(checkboxlist); 

插入(替换)示例:
splice(addindex,replacecount,elememt...);
addindex:插入(替换)起始位置,也就是数组的下标,从0开始。
replacecount:需要替换元素的个数。
elememt...:新的元素,可以是一个或者多个。

当replacecount小于等于0时,只进行添加。
如:在checkboxlist数组的第1个元素("1111")后插入"aaaa","bbbb"两个元素。
Java代码 
var checkboxlist = new array("1111","2222","3333","4444","5555");checkboxlist.splice(1,0,"aaaa","bbbb");alert(checkboxlist); 

当replacecount大于0时,会元素会进行替换。
如:将checkboxlist数组的第1个元素("1111")后的一个元素(也就是"2222")替换成"aaaa","bbbb"。下面代码中的checkboxlist最新值为:"1111","aaaa","bbbb","3333","4444","5555"
Java代码 
var checkboxlist = new array("1111","2222","3333","4444","5555");checkboxlist.splice(1,1,"aaaa","bbbb");alert(checkboxlist); 

如果replacecount参数的值大于数组的长度,那将会替换掉addindex参数开始的所有元素。执行完后checkboxlist的元素变为:"1111","aaaa","bbbb"
Java代码 
var checkboxlist = new array("1111","2222","3333","4444","5555");checkboxlist.splice(1,9,"aaaa","bbbb");alert(checkboxlist); 

2.5 reverse() 数组元素顺序反转
Java代码 
checkboxlist.reverse(); 

2.6 sort() 对数组元素按自然顺序排序
Java代码 
checkboxlist.sort(); 

2.7 concat() 拷贝另一个数组,生成新的数组,并返回
alllist中的元素为checkboxlist与radiolist中的元素的合集
Java代码 
var checkboxlist = new array("1111","2222");var radiolist = new array("aaaa","bbbb");var alllist = checkboxlist.concat(radiolist); 

2.8 slice() 拷贝指定序号后的元素,生成新的数组,并返回
slice(index)
index:拷贝开始位置,也就是数组的下标,从0开始。
当index大于数组元素个数时,返回空数组

拷贝checkboxlist第一个元素后的所有元素到新的temparray 数组,原checkboxlist不发生变化。
Java代码 
var checkboxlist = new array("1111","2222","3333");var temparray = checkboxlist.slice(1); 

2.9 join() 字符串操作
join(separator);
separator:添加的分隔符,可以为""空字符串。

可以于高效字符串相加。比直接字符串相加效率高很多。
代码示例:
Java代码 
var checkboxlist = new array("1111","2222","3333","4444");var strdata = checkboxlist.join("|");alert(strdata); 

 

2.10 length 属性
length 返回数组长度,也就是元素个数。
Java代码 
var checkboxlist = new array("1111","2222","3333","4444");alert(checkboxlist.length); 

作者“技术总结”
 

补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,