javascript数组
1. 数组创建
var arrayObj = new Array(); //创建一个数组 var arrayObj = new Array([size]); //创建一个数组并指定长度,注意不是上限,是长度 var arrayObj = new Array([element0[, element1[, ...[, elementN]]]]); //创建一个数组并赋值
注:第二种方法虽指定了数组长度,但是如果增加的元素个数超过了指定值,实际的数组长度会自动增加。
2. 数组访问
var testGetArrValue=arrayObj[1]; //获取数组的元素值 arrayObj[1]= "kimi"; //给数组元素赋予新的值
3. 数组遍历
3.1 for
<html> <head> <script type="text/javascript"> var arr = new Array(2, 3, 4); for (key in arr) { alert(": " + key); } </script> </head> <body> </body> </html>
3.2 foreach
匿名
<html> <body> <script> var arryAll = [3, 5, 8, 9]; //匿名方式 arryAll.forEach(function(e){ alert(e); }) </script> </body> </html>
非匿名
<html> <body> <script> var arryAll = [3, 5, 8, 9]; function t1(arg){alert(arg);} //非匿名方式 arryAll.forEach(t1, arryAll); </script> </body> </html>
4. 数组元素的添加
arrayObj.push([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组结尾,并返回数组新长度 arrayObj.unshift([item1 [item2 [. . . [itemN ]]]]);// 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度 arrayObj.splice(insertPos,0,[item1[, item2[, . . . [,itemN]]]]);//将一个或多个新元素插入到数组的指定位置,插入位置的元素自动后移,返回""。
注:第三个方法splice中,insertPos是被插入元素的位置,0表示插入, 后边表示被插入的元素。
5. 数组元素的删除
arrayObj.pop(); //移除最后一个元素并返回该元素值 arrayObj.shift(); //移除最前一个元素并返回该元素值,数组中元素自动前移 arrayObj.splice(deletePos,deleteCount); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素 arrayObj.splice(deletePos,deleteCount, [element1, element2...]); //删除从指定位置deletePos开始的指定数量deleteCount的元素,数组形式返回所移除的元素,并把element1,element2...元素插入到被删除的位置上。
6. 数组的截取与合并
arrayObj.slice(start, [end]); //以数组的形式返回数组的一部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素 arrayObj.concat([item1[, item2[, . . . [,itemN]]]]); //将多个数组(也可以是字符串,或者是数组和字符串的混合)连接为一个数组,返回连接好的新的数组
7. 数组的拷贝
arrayObj.slice(0); //返回数组的拷贝数组,注意是一个新的数组,不是指向 arrayObj.concat(); //返回数组的拷贝数组,注意是一个新的数组,不是指向
8. 数组的排序
arrayObj.reverse(); //反转元素(最前的排到最后、最后的排到最前),返回数组地址 arrayObj.sort(); //对数组元素排序,返回数组地址
9. 数组元素的字符串化
arrayObj.join(separator); //返回字符串,这个字符串将数组的每一个元素值连接在一起,中间用 separator 隔开。
10. 数组元素的属性
arr.length; //数组的长度