入门客AI创业平台(我带你入门,你带我飞行)
博文笔记

JavaScript 数组操作函数总结(push,pop,join,shift,unshift,slice,splice,concat)

创建时间:2014-05-07 投稿人: 浏览次数:4136

js中数组操作函数还是非常多的,今天忽然想到来总结一下,也算是温故而知新吧。不过不会针对每个办法都进行一下总结,只是针对一些比较常用的做个备注一下。

这里总结到的 js 数组操作函数有:push,pop,join,shift,unshift,slice,splice,concat

(1)push 和 pop

这两个函数都是对数组从尾部进行压入或弹出操作。push(arg1,arg2,...)可以每次压入一个或多个元素,并返回更新后的数组长度。注意如果参数也是数组的话,则是将全部数组当做一个元素压入到原本的数组里面去。pop() 函数则每次只会弹出结尾的元素,并返回弹出的元素,若是是对空组数调用 pop() 则返回undefined。

示例:

var oldArr=[1,2,3];

alert(oldArr.push(4,[5,6]))//这里只会将[5,6]当做一个元素来策画,返回更新后的数组长度5

此时 oldArr = [1,2,3,4,[5,6]]

oldArr.pop()//这里弹出最后一个元素[5,6],而不是6

此时 oldArr = [1,2,3,4]

oldArr.pop()-->4

oldArr.pop()-->3

oldArr.pop()-->2

oldArr.pop()-->1

alert(oldArr.pop())-->undefined(空数组弹出)

(2)unshift 和 shift

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。unshift() 方法将把它的参数插入 arrayObject 的头部,并将已经存在的元素顺次地移到较高的下标处,以便留出空间。该方法的第一个参数将成为数组的新元素 0,如果还有第二个参数,它将成为新的元素 1,以此类推。

请注意,unshift() 方法不创建新的创建,而是直接修改原有的数组。另外在 Internet Explorer 浏览器中 unshift() 无法执行!

如下示例,我们将创建一个数组,并把一个元素添加到数组的开头,并返回数组的新长度:

查看代码 打印
1 <script type="text/javascript">
2 var arr = new Array()
3 arr[0] = "George"
4 arr[1] = "John"
5 arr[2] = "Thomas"
6 document.write(arr.join() + "<br />")
7 document.write(arr.unshift("William") + "<br />")
8 document.write(arr.join())
9 </script>

输出:

George,John,Thomas
4
William,George,John,Thomas

shift() 用于将数组的第一个元素从原数组中删除,并返回第一个元素的值(即被删除的元素的值)。

注意:若数组是空的,那么 shift() 将不进行任何操纵,直接返回 undefined 值。另外该方法也不创建新数组,而是直接修改原有的 arrayObject。

示例:在本例中,我们将创建一个数组,并删除数组的第一个元素:

查看代码 打印
1 <script type="text/javascript">
2 var arr = new Array
3 arr[0] = "George"
4 arr[1] = "John"
5 arr[2] = "Thomas"
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。