JS数组的常用属性:length

length 是一个可读可写的属性,用来表示数组的长度(即数组元素个数)。通过访问 length 属性,可以获取数组长度;而通过修改 length 的值,可以增加或减少数组元素,甚至可以完全清空数组元素。

length 属性的读、写操作示例如下:



  1. var arr = [1,2,3];
  2. alert(arr.length);//读取数组长度,结果为3
  3. arr.length = 1;//修改数组长度为1,此时数组只剩第一个元素
  4. arr.length = 0;//快速清空数组,此时数组中没有任何元素

注:快速清空除了可以通过修改 length 属性值为 0 外,还有一种方法就是使用代码:arr=[]。如果 arr 原来的元素有很多,则使用 arr=[] 清空数组的方法效率比修改 length 属性值为 0 的方法更高。

JS数组的常用方法

数组提供了一些常用方法,可实现数组元素的添加、删除、替换以及排序等功能。

1) push(元素1,…,元素n)

push() 方法可把参数指定的元素依次添加到数组的末尾,并返回添加元素后的数组长度(该方法必须至少有一个参数)。示例如下:



  1. var arr = [1,2,3];
  2. alert(arr.push(4));//返回最终数组的长度:4
  3. alert(arr);//返回:1,2,3,4
  4. alert(arr.push(5,6,7));//返回最终数组的长度:7
  5. alert(arr);//返回:1,2,3,4,5,6,7

2) unshift(元素1,…,元素n)

unshift() 方法可把参数指定的元素依次添加到数组的前面,并返回添加元素后的数组长度。该方法必须至少有一个参数。注意:IE6、IE7 不支持方法的返回值。示例如下:



  1. var arr = [1,2,3];
  2. alert(arr.unshift('a'));//返回最终数组的长度:4
  3. alert(arr);//返回:a,1,2,3
  4. alert(arr.unshift('b','c','d'));//返回最终数组的长度:7
  5. alert(arr);//返回:b,c,d,a,1,2,3

3) pop()

pop() 方法可弹出(删除)数组最后一个元素,并返回弹出的元素。示例如下:



  1. var arr = ['A','B','C','D'];
  2. alert(arr.pop());//返回:D
  3. alert(arr);//返回:A,B,C

4) shift()

shift() 方法可删除数组第一个元素,并返回删除的元素。示例如下:



  1. var arr = ['A','B','C','D'];
  2. alert(arr.shift());//返回:A
  3. alert(arr);//返回:B,C,D

5) splice(index,count[,元素1,…,元素n])

splic() 方法功能比较强,它可以实现删除指定数量的元素、替换指定元素以及在指定位置添加元素。这些不同功能的实现需要结合方法参数来确定:

  • 当参数只有 index 和 count 两个参数时,如果 count 不等于 0,splice() 方法实现删除功能,同时返回所删除的元素:从 index参数指定位置开始删除 count 参数指定个数的元素;
  • 当参数为 3 个以上,且 count 参数不为0时,splice() 方法实现替换功能,同时返回所替换的元素:用第三个及其之后的参数替换 index 参数指定位置开始的 count 参数指定个数的元素;
  • 当参数为 3 个以上,且 count 参数为 0 时,splice() 方法的实现添加功能:用第三个及其之后的参数添加到 index 参数指定位置上。

splice() 方法实现的各个功能示例如下。

① 使用 splice() 从指定位置删除指定个数的元素:



  1. var arr = ['A','B','C','D'];
  2. //2个参数,第二个参数不为 0,实现删除功能
  3. alert(arr.splice(0,2));
  4. alert(arr); //返回C,D

② 使用 splice() 用指定元素替换从指定位置开始的指定个数的元素:



  1. var arr = ['A','B','C','D'];
  2. //3个参数,第二个参数不为 0,实现替换功能:用 a 替换掉 A,返回:A
  3. alert(arr.splice(0,1,'a'));
  4. alert(arr); //返回:a,B,C,D
  5. alert(arr.splice(0,2,'a or b'));//用a or b替换掉a和B,返回a,B
  6. alert(arr); //返回:a or b,C,D

③ 使用 splice() 在指定位置添加指定的元素:



  1. var arr = ['A','B','C','D'];
  2. //4个参数,第二个参数为 0,实现添加功能:在下标为 1 处添加 aaa,bbb,没有返回值
  3. alert(arr.splice(1,0,'aaa','bbb'));
  4. alert(arr);//返回:A,aaa,bbb,B,C,D