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 相关文章推荐
关于__defineGetter__ 和__defineSetter__的说明
May 12 Javascript
javascript div 遮罩层封锁整个页面
Jul 10 Javascript
Google的跟踪代码 动态加载js代码方法应用
Nov 12 Javascript
jquery基础教程之数组使用详解
Mar 10 Javascript
jquery插件开发之实现google+圈子选择功能
Mar 10 Javascript
node.js中Socket.IO的进阶使用技巧
Nov 04 Javascript
jQuery实现的五子棋游戏实例
Jun 13 Javascript
常常会用到的截取字符串substr()、substring()、slice()方法详解
Dec 16 Javascript
js获取当前日期时间及其它日期操作汇总
Mar 08 Javascript
JS前向后瞻正则表达式定义与用法示例
Dec 27 Javascript
Vue keep-alive实践总结(推荐)
Aug 31 Javascript
关于vue表单提交防双/多击的例子
Oct 31 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的FTP学习(一)[转自奥索]
2006/10/09 PHP
Can't create/write to file 'C:\WINDOWS\TEMP\...MYSQL报错解决方法
2011/06/30 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
[原创]PHP获取数组表示的路径方法分析【数组转字符串】
2017/09/01 PHP
javascript快速排序算法详解
2014/09/17 Javascript
Jquery常用的方法汇总
2015/09/01 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
页面get请求 中文参数方法乱码问题的快速解决方法
2016/05/31 Javascript
基于js实现checkbox批量选中操作
2016/11/22 Javascript
javascript 显示全局变量与隐式全局变量的区别
2017/02/09 Javascript
使用vue制作FullPage页面滚动效果
2017/08/21 Javascript
JavaScript生成指定范围的时间列表
2018/03/19 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
AngularJS实现的鼠标拖动画矩形框示例【可兼容IE8】
2019/05/17 Javascript
node.js express框架简介与实现
2019/07/23 Javascript
VUE 直接通过JS 修改html对象的值导致没有更新到数据中解决方法分析
2019/12/02 Javascript
vue子组件改变父组件传递的prop值通过sync实现数据双向绑定(DEMO)
2020/02/01 Javascript
在Windows服务器下用Apache和mod_wsgi配置Python应用的教程
2015/05/06 Python
python通过post提交数据的方法
2015/05/06 Python
Python错误提示:[Errno 24] Too many open files的分析与解决
2017/02/16 Python
Python实现全排列的打印
2018/08/18 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
python实现狄克斯特拉算法
2019/01/17 Python
python批量创建指定名称的文件夹
2019/03/21 Python
python找出一个列表中相同元素的多个索引实例
2019/06/11 Python
Python常用模块os.path之文件及路径操作方法
2019/12/03 Python
Python基于Webhook实现github自动化部署
2020/11/28 Python
Sunglasses Shop荷兰站:英国最大的太阳镜独立在线零售商和供应商
2017/01/08 全球购物
澳大利亚当地最大的时装生产商:Cue
2018/08/06 全球购物
Yummie官方网站:塑身衣和衣柜必需品
2019/10/29 全球购物
营业员实习自我鉴定
2013/12/07 职场文书
市优秀教师事迹材料
2014/02/05 职场文书
党风廉政承诺书
2014/03/27 职场文书
党小组考察意见
2015/06/02 职场文书
Java基于Dijkstra算法实现校园导游程序
2022/03/17 Java/Android