js 数组操作之pop,push,unshift,splice,shift


Posted in Javascript onJanuary 29, 2014
<script>    
Array.prototype.pop=function(){    
     if(this.length!=0)this.length--;    
     return this;    
     }   

pop 方法  
移除数组中的最后一个元素并返回该元素。  

arrayObj.pop( )  

必选的 arrayObj 引用是一个 Array 对象。  

说明  
如果该数组为空,那么将返回 undefined。

var a=[1,2,3,4]    
a.pop()    
alert(a)    
alert(a.pop())</script><script>   

push 方法  
将新元素添加到一个数组中,并返回数组的新长度值。  

arrayObj.push([item1 [item2 [. . . [itemN ]]]])  

参数  
arrayObj  

必选项。一个 Array 对象。  

item, item2,. . . itemN  

可选项。该 Array 的新元素。  

说明  
push 方法将以新元素出现的顺序添加这些元素。如果参数之一为数组,那么该数组将作为单个元素添加到数组中。如果要合并两个或多个数组中的元素,请使用 concat 方法。  

Array.prototype.push=function(){    
     var len=arguments.length;    
     if(len>0)for(var i=0;i<len;i++)this[this.length]=arguments[i];    
     return this.length;    
     }    
var a=[1,2,3,4]    
a.push(5)    
alert(a)    
alert(a.push(6))</script><script>   
 
unshift 方法  
将指定的元素插入数组开始位置并返回该数组。  

arrayObj.unshift([item1[, item2 [, . . . [, itemN]]]])  

参数  
arrayObj  

必选项。一个 Array 对象。  

item1, item2,. . .,itemN  

可选项。将插入到该 Array 开始部分的元素。  

说明  
unshift 方法将这些元素插入到一个数组的开始部分,所以这些元素将以参数序列中的次序出现在数组中。  

Array.prototype.unshift=function(){    
     var len=arguments.length;    
     this.reverse();    
     if(len>0)for(var i=len;i>0;i--)this[this.length]=arguments[i-1];    
     return this.reverse();    
     }    
var a=[1,2,3,4]    
a.unshift()    
alert(a)    
a.unshift(5,6)    
alert(a)    
alert(a.unshift(7))</script><script language="JScript">    
Array.prototype.splice=function(){    
     var len=arguments.length;    
     var tarray=[];    
     if(len>1){    
         for(var i=arguments[0]+arguments[1];i<this.length;i++)tarray[tarray.length]=this[i];    
         this.length=arguments[0];    
         if(len>2)for(var i=2;i<len;i++)this[this.length]=arguments[i];    
         var tlen=tarray.length;    
         for(var i=0;i<tlen;i++)this[this.length]=tarray[i];    
         }    
     return this;    
     }    
var a=[1,2,3,4];  

splice 方法  
从一个数组中移除一个或多个元素,如果必要,在所移除元素的位置上插入新元素,返回所移除的元素。  

arrayObj.splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])  

参数  
arrayObj  

必选项。一个 Array 对象。  

start  

必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。  

deleteCount  

必选项。要移除的元素的个数。  

item1, item2,. . .,itemN  

必选项。要在所移除元素的位置上插入的新元素。  

说明  
splice 方法可以移除从 start 位置开始的指定个数的元素并插入新元素,从而修改 arrayObj。返回值是一个由所移除的元素组成的新 Array 对象。  

alert(a.splice(0,1));    
alert(a.splice(0,1,1,1,1,1,1,1,1))    
</script><script>    
Array.prototype.shift=function(){    
     var f=this[0];    
     for(var i=0;i<this.length;i++)this[i]=this[i+1];    
     this.length--;    
     return f;    
     }   
  
shift 方法  
移除数组中的第一个元素并返回该元素。  

arrayObj.shift( )  

必选的 arrayObj 引用是一个 Array 对象。  

说明  
shift 方法可移除数组中的第一个元素并返回该元素。  

var a=[1,2]    
alert(a.shift())    
alert(a)    
</script>   
Javascript 相关文章推荐
用javascript实现画板的代码
Sep 05 Javascript
js 判断checkbox是否选中的操作方法
Nov 09 Javascript
原生js的弹出层且其内的窗口居中
May 14 Javascript
jQuery中:lt选择器用法实例
Dec 29 Javascript
js实现滚动条滚动到页面底部继续加载
Dec 19 Javascript
浅谈javascript运算符——条件,逗号,赋值,()和void运算符
Jul 15 Javascript
使用BootStrap实现标签切换原理解析
Mar 14 Javascript
Angularjs上传图片实例详解
Aug 06 Javascript
JS实现调用本地摄像头功能示例
May 18 Javascript
微信小程序实现折叠展开效果
Jul 19 Javascript
JS如何在数组指定位置插入元素
Mar 10 Javascript
微信小程序pinker组件使用实现自动相减日期
May 07 Javascript
js中的preventDefault与stopPropagation详解
Jan 29 #Javascript
js正则表达式中test,exec,match方法的区别说明
Jan 29 #Javascript
js的正则test,match,exec详细解析
Jan 29 #Javascript
js正则表达exec与match的区别说明
Jan 29 #Javascript
jquery实现input输入框实时输入触发事件代码
Jan 28 #Javascript
用jquery等比例控制图片宽高的具体实现
Jan 28 #Javascript
jQuery实现当按下回车键时绑定点击事件
Jan 28 #Javascript
You might like
PHP配置心得包含MYSQL5乱码解决
2006/11/20 PHP
PHP has encountered an Access Violation at 7C94BD02解决方法
2009/08/24 PHP
PHP遍历目录并返回统计目录大小
2014/06/09 PHP
使用WAMP搭建PHP本地开发环境
2017/05/10 PHP
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
用JavaScript计算在UTF-8下存储字符串占用字节数
2013/08/08 Javascript
jquery中的ajax方法怎样通过JSONP进行远程调用
2014/05/04 Javascript
分享自己用JS做的扫雷小游戏
2016/02/17 Javascript
javascript中this指向详解
2016/04/23 Javascript
关于jquery中动态增加select,事件无效的快速解决方法
2016/08/29 Javascript
标准的js无缝滚动效果
2016/08/30 Javascript
在Docker快速部署Node.js应用的详细步骤
2016/09/02 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
webpack处理 css\less\sass 样式的方法
2017/08/21 Javascript
JS动态添加的div点击跳转到另一页面实现代码
2017/09/30 Javascript
webpack3之loader全解析
2017/10/26 Javascript
JS执行控制之节流模式实例分析
2018/12/21 Javascript
JavaScript对象原型链原理详解
2020/02/05 Javascript
解决vue中使用less/sass及使用中遇到无效的问题
2020/10/24 Javascript
[51:20]完美世界DOTA2联赛PWL S2 Magma vs PXG 第一场 11.28
2020/12/01 DOTA
pyqt 实现在Widgets中显示图片和文字的方法
2019/06/13 Python
PyQt5创建一个新窗口的实例
2019/06/20 Python
python opencv根据颜色进行目标检测的方法示例
2020/01/15 Python
基于Python实现下载网易音乐代码实例
2020/08/10 Python
印度最大的酒店品牌网络:OYO Rooms
2016/07/24 全球购物
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
Vilebrequin美国官方网上商店:法国豪华泳装品牌
2020/02/22 全球购物
升学宴来宾致辞
2015/07/27 职场文书
2016年“世界气象日”广播稿
2015/12/17 职场文书
2016年基层党支部书记公开承诺书
2016/03/25 职场文书
2019优秀干部竞聘演讲稿范文!
2019/07/02 职场文书
vue中三级导航的菜单权限控制
2021/03/31 Vue.js
nginx搭建图片服务器的过程详解(root和alias的区别)
2021/03/31 Servers
Django使用redis配置缓存的方法
2021/06/01 Redis
Java实现二维数组和稀疏数组之间的转换
2021/06/27 Java/Android