js中操作数组的几个常用方法

1. Array.shift()------删除并返回第一个元素

作用:从数组中删除第一个元素(即下标为0的元素),并返回该元素。

注意:1)删除元素之后,数组的长度-1。2)如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。

示例: 

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.shift() + "<br />")
document.write(arr)

</script>

 结果: 

George,John,Thomas
George
John,Thomas
 

 2.Array.pop()------删除并返回最后一个元素

作用:从数组中删除最后一个元素(即下标为length-1的元素),并返回该元素。

注意:1)删除元素之后,数组的长度-1。2)如果数组是空的,那么 shift() 方法将不进行任何操作,返回 undefined 值。

示例: 

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.pop() + "<br />")
document.write(arr)

</script>

 结果:  

George,John,Thomas
Thomas
George,John
 

3. Array.push(param1[,param2,...paramN])------尾部添加元素

作用:在数组的尾部添加一个元素,并返回新数组的长度。

注意:1)它是直接修改该数组,而不是重新创建一个数组。2)它和pop是一对相反的先进后出的栈功能方法。3)它可以同时给一个数组添加多个元素。

示例:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.push("James") + "<br />")
document.write(arr)

</script>
  结果: 
George,John,Thomas
4
George,John,Thomas,James

 

4. Array.unshift(newElement1[,newElement2,...newElementN])------头部添加元素

作用:在数组的头部添加一个或多个元素,并返回新数组的长度。

注意:1)它是直接修改该数组,而不是重新创建一个数组。2)IE浏览器不支持该方法。

示例:

<script type="text/javascript">

var arr = new Array()
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.unshift("William") + "<br />")
document.write(arr)

</script>
  结果: 
George,John,Thomas
4
William,George,John,Thomas

  

5.Array.join([separator])------转换成字符串

作用:把数组的所有元素放入到一个字符串中。

注意:1)参数separator表示字符串中元素的分隔符,可以为空,默认为半角逗号。2)该方法并不修改数组。

示例: 

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.join(.) + "<br />")
document.write(arr.join() + "<br />")
document.write(arr)

</script>

 结果:  

George,John,Thomas
George,John,Thomas
George,John,Thomas
George.John.Thomas
 

 6. Array.contact(array1[,array2,...arrayN])------连接数组

作用:将两个或两个以上的数组连接成一个数组,并返回连接后的数组。

注意:1)该方法并不会改变现有的数组,而是返回被连接的多个数组的一个副本。2)如果多个数组里有值相同的元素,那也不会重复出现,而不会把重复的元素过滤掉。

示例1:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

document.write(arr.concat(arr2))

</script>
 结果1: 
George,John,Thomas,James,Adrew,Martin

示例2:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

var arr2 = new Array(3)
arr2[0] = "James"
arr2[1] = "Adrew"
arr2[2] = "Martin"

var arr3 = new Array(2)
arr3[0] = "William"
arr3[1] = "Franklin"

document.write(arr.concat(arr2,arr3))

</script>

 结果2: 

George,John,Thomas,James,Adrew,Martin,William,Franklin

7.Array.reverse()------反转数组

作用:把数组的所有元素顺序反转。

注意:1)该方法会直接修改数组,而不会创建新的数组。

示例: 

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.reverse())

</script>

 结果:  

George,John,Thomas
Thomas,John,George
 

8. Array.slice(start[, end])------截取数组

作用:截取数组中指定位置的元素,并返回一个新的子数组。

注意:1)该方法并不会改变现有的数组,而是原数组的一个子数组。2)参数start是必选,表示开始下标,如果start为负数,表示从末尾开始,-1表示最后一个元素,依次类推。3)end是可选表示结束下标,如果没有指定,表示到结尾元素。

示例:

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr + "<br />")
document.write(arr.slice(1) + "<br />")
document.write(arr)

</script>
 结果: 
George,John,Thomas
John,Thomas
George,John,Thomas

9.Array.splice()------删除指定元素

作用:从数组指定位置删除指定数量的元素,并返回被删除的元素。

注意:1)该方法会直接修改数组。2)splice() 方法与 slice() 方法的作用是不同的,splice() 方法会直接对数组进行修改,而slice只是截取原数组的一部分后返回一个子数组,并不会修改原数组。

示例1: 向指定位置插入一个元素

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,0,"William")
document.write(arr + "<br />")

</script>

 结果1:  

George,John,Thomas,James,Adrew,Martin
George,John,William,Thomas,James,Adrew,Martin

 示例2: 删除从 index 2 ("Thomas") 开始的三个元素,并添加一个新元素 ("William") 来替代被删除的元素

<script type="text/javascript">

var arr = new Array(6)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
arr[3] = "James"
arr[4] = "Adrew"
arr[5] = "Martin"

document.write(arr + "<br />")
arr.splice(2,3,"William")
document.write(arr)

</script>

结果2:  

George,John,Thomas,James,Adrew,Martin
George,John,William,Martin

  

10. Array.toString()------转换成字符串

作用:数组转换为字符串,并返回该字符串。

注意:1)该方法和不带参数的join()方法效果一样。

示例: 

<script type="text/javascript">

var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"

document.write(arr.toString())

</script>

 结果: 

George,John,Thomas

 

 

 

 

 

猜你喜欢

转载自guwq2014.iteye.com/blog/2275914