html5中文学习网

您的位置: 首页 > 网站及特效实例 > javascript特效 » 正文

JavaScript数组函数unshift、shift、pop、push使用实例_javascript技巧_

[ ] 已经帮助:人解决问题

如何声明数组ciaHTML5中文学习网 - HTML5先行者学习网

s中数组的声明可以有几种方式声明ciaHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = [];  // 简写模式ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = new Array(); // 直接new一个ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = Array();  // 或者new也可以ciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
在new数组的时候可以传入一个参数,表示数组的初始化长度ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// new的时候传入一个参数表示初始化数组长度ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = new Array(3); ciaHTML5中文学习网 - HTML5先行者学习网
 ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp.length);  // 3ciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
但如果你想创建一个只有一个元素3的数组,那么使用 new 方法是不能实现的,因为系统会把你传入的3当作数组的长度,除非你使用引号引起来当作字符串,如ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = new Array('3'); ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp);  // 3ciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
我们可以使用简写模式创建数组,这样就可以创建只有一个数字元素3的数组ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = [3]ciaHTML5中文学习网 - HTML5先行者学习网
alert(typeof tmp[0]);  // numberciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
也可以初始多个元素,并且元素的值可以是任意类型ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 简约模式创建数组ciaHTML5中文学习网 - HTML5先行者学习网
// 数组的元素可以是任意一种数据类型ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = [3,true,8.5,{'name':'lizhong'},['a','b']];ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp.length); // 5ciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网

一、unshift 在数组第一个元素前插入元素ciaHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用unshift在数组第一个元素前插入元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回数组长度ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = ['a','b'];ciaHTML5中文学习网 - HTML5先行者学习网
var len = tmp.unshift('c');ciaHTML5中文学习网 - HTML5先行者学习网
alert(len); // 3ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // c,a,bciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
也可以一次插入多个元素,顺序依次从左边排起ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用unshift在数组第一个元素前插入元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回数组长度ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = ['a','b'];ciaHTML5中文学习网 - HTML5先行者学习网
var len = tmp.unshift('c','d');ciaHTML5中文学习网 - HTML5先行者学习网
alert(len); // 4ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // c,d,a,bciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网

二、shift弹出数组第一个元素,返回被弹出的元素值ciaHTML5中文学习网 - HTML5先行者学习网

小实例:ciaHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用shift弹出数组第一个元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回被弹出的元素值ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = ['a','b','c'];ciaHTML5中文学习网 - HTML5先行者学习网
var val = tmp.shift();ciaHTML5中文学习网 - HTML5先行者学习网
alert(val); // aciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // b,cciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
如果是一个空数组:ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用shift弹出数组第一个元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回被弹出的元素值ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = [];ciaHTML5中文学习网 - HTML5先行者学习网
var val = tmp.shift();ciaHTML5中文学习网 - HTML5先行者学习网
alert(val); // undefinedciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // 空ciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网

三、push在数组末尾添加元素ciaHTML5中文学习网 - HTML5先行者学习网

跟unshift相反,push在数组末尾添加元素,返回添加元素以后的数组长度ciaHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用push在数组末尾添加多个元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回数组最新长度ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = ['a','b','c'];ciaHTML5中文学习网 - HTML5先行者学习网
var len = tmp.push('d');ciaHTML5中文学习网 - HTML5先行者学习网
alert(len); // 4ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // a,b,c,dciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
也可以一次添加多个元素ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用push在数组末尾添加多个元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回数组最新长度ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = ['a','b','c'];ciaHTML5中文学习网 - HTML5先行者学习网
var len = tmp.push('d','e','f');ciaHTML5中文学习网 - HTML5先行者学习网
alert(len); // 6ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // a,b,c,d,e,fciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网

四、pop函数删除数组末尾元素ciaHTML5中文学习网 - HTML5先行者学习网

跟shift相反,pop弹出的是数组末尾元素,返回被弹出的元素值ciaHTML5中文学习网 - HTML5先行者学习网

复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用pop弹出数组末尾元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回被弹出的元素值ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = ['a','b','c'];ciaHTML5中文学习网 - HTML5先行者学习网
var val = tmp.pop();ciaHTML5中文学习网 - HTML5先行者学习网
alert(val); // cciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // a,bciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
如果数组为空,返回undefinedciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
// 使用pop弹出数组末尾元素ciaHTML5中文学习网 - HTML5先行者学习网
// 返回被弹出的元素值ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = [];ciaHTML5中文学习网 - HTML5先行者学习网
var val = tmp.pop();ciaHTML5中文学习网 - HTML5先行者学习网
alert(val); // undefinedciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // 空
ciaHTML5中文学习网 - HTML5先行者学习网
 ciaHTML5中文学习网 - HTML5先行者学习网
利用以上四个函数,我们可以做一些队列处理,具体案例就不写代码了。ciaHTML5中文学习网 - HTML5先行者学习网
push功能其实也可以这么实现 ciaHTML5中文学习网 - HTML5先行者学习网
复制代码 代码如下:
ciaHTML5中文学习网 - HTML5先行者学习网
var tmp = ['a','b','c'];ciaHTML5中文学习网 - HTML5先行者学习网
tmp[tmp.length] = 'd';ciaHTML5中文学习网 - HTML5先行者学习网
alert(tmp); // a,b,c,dciaHTML5中文学习网 - HTML5先行者学习网
ciaHTML5中文学习网 - HTML5先行者学习网
注意:以上四个函数unshift、shift、pop、push函数操作都会在数组本身上修改。ciaHTML5中文学习网 - HTML5先行者学习网

(责任编辑:)
推荐书籍
推荐资讯
关于HTML5先行者 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 人才招聘 - 帮助