今天工作不算太忙,抽空学习了下JavaScript中数组的相关方法
首先看看数组删除元素相关的几个方法
1、pop(): 删除数组最后一个元素,并返回删除的元素
/* * javaScript中数组(Array)pop方法 * 删除数组最后一个元素,并返回被删除的元素 */ function testPop(){ var arr = new Array('h','x','q'); alert(arr.pop()); alert(arr); }
2、shift(): 删除数组的第一个元素,并返回被删除的元素
/** * javascript中数组(Array)shift方法 * 删除数组中第一个元素,并返回删除的元素 **/ function testShift(){ var arr = ['I','Love','you'];//JSON定义 alert(arr); alert(arr.shift()); alert(arr); }
3、splice(): 删除指定元素,并向数组添加新元素
/** * javascript中数组(Array)splice方法 * 从数组中删除元素,并增加元素 * 返回删除的元素 */ function testSplice(){ var arr = new Array('beijing','shanghai','guangzhou','hangzhou'); alert(arr.splice(1,1));//从第1个位置开始,删除一个元素,返回'shanghai' alert(arr); alert(arr.splice(0,1,'jiangxi','hubei','sichuan'));// 从第0个位置开始,删除一个元素,然后从0位置开始增加'jiangxi','hubei','sichuan'三个元素 alert(arr); alert(arr.splice(0,'hainan','sanya','chengdu'));// 第二个元素应该为number类型的,所以删除不成功,返回空,然后从0位置开始增加'sanya','chengdu'2个元素 alert(arr); }
看完删除的方法后,我们看看增加元素的方法
4、push(): 向数组的末尾添加一个或者多个元素,并返回数组新的长度
/* * javaScript中数组(Array)push方法 * 往数组的尾部添加一个或者多个元素,并返回新的长度 */ function testPush(){ var arr1 = new Array('h','x','q'); arr1.push('i');// 返回4 alert(arr1);// h,x,q,i alert(arr1.push('n','g'));//返回6 alert(arr1.length);//返回6 }
5、unshift(): 向数组的开头添加一个或者多个元素,并返回新的长度
/** * javascript中数组(Array)unshift方法 * 在数组开头增加指定元素(一个或者多个) * 返回增加元素后数组长度 */ function testUnshift(){ var arr1 = new Array('h','x','q'); alert(arr1.unshift(12)); alert(arr1);// 12,h,x,q alert(arr1.unshift(12,'huxiaoqing')); alert(arr1);//12,huxiaoqing,12,h,x,q }
6、concat(): 连接俩数组或者多个数组返回一个新的数组,原数组不受影响
var arr1 = new Array('I'); var arr2 = new Array('L','O','V','E'); var arr3 = new Array('Y','O','U'); /* * JavaScript中数组(Array)concat方法 * 连接两个或多个数组返回一个新的数组,原数组不收影响 */ function testConcat(){ alert(arr1.concat(arr2));//返回I,L,O,V,E alert(arr1.concat(arr2,arr3));//返回I,L,O,V,E,Y,O,U alert(arr1);//I alert(arr2);//L,O,V,E alert(arr3);//Y,O,U }
最后看看数组的几个获取元素的方法
7、join(): 把数组中的元素放入一个字符串,元素间用指定的符合隔开
function testJoin(){ var arr = new Array('Y','O','U'); var str = arr.join("|"); alert(str); }
8、reverse(): 颠倒数组中元素的顺序
/* * javascript中数组(Array)reverse方法 * 颠倒数组中的元素顺序,并返回颠倒后的数组,原数组内元素顺序变化 */ function testReverse(){ var arr = new Array('Y','O','U'); arr.reverse(); alert(arr);//U,O,Y alert(arr.reverse());//Y,O,U }
9、slice(): 返回数组中选定的元素
/** * javascript中数组(Array)slice方法 * 从数组中返回选定的元素,第一个为起始位置,第二个我终止位置 * ps:数组的起始位置为0 */ function testSlice(){ var arr = new Array('Y','O','U'); alert(arr.slice(1,3));// O,U alert(arr.slice(1));//O,U alert(arr.slice(0));//Y,O,U }
10、sort(): 排序方法,对数组中元素进行排序,并返回排序后的数组,原数组元素顺序受影响
/** * javaScript中数组(Array)sort方法 * 对数组中元素进行排序,并返回排序后的数组 */ function testSort(){ var a1 = [11,1,100,45,'A','B']; alert(a1.sort());//只根据字符顺序排序 alert(a1.valueOf()); alert(a1.sort(function(a,b){return a-b;}));//如果要对数字进行排序,需要给sort方法定义一个排序规则 }
在testSort()中还用到了valueOf()方法,这个方法就是返回数组的元素值