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 相关文章推荐
js直接编辑当前cookie的脚本
Sep 14 Javascript
40个有创意的jQuery图片、内容滑动及弹出插件收藏集之一
Dec 31 Javascript
JQuery入门——用one()方法绑定事件处理函数(仅触发一次)
Feb 05 Javascript
javascript级联下拉列表实例代码(自写)
May 10 Javascript
jquery遍历之parent()和parents()的区别及parentsUntil()方法详解
Dec 02 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
Jul 17 Javascript
详细分析使用AngularJS编程中提交表单的方式
Jun 19 Javascript
深入理解Java线程编程中的阻塞队列容器
Dec 07 Javascript
react-router v4如何使用history控制路由跳转详解
Jan 09 Javascript
详解Next.js页面渲染的优化方案
Jan 27 Javascript
JS实现的合并两个有序链表算法示例
Feb 25 Javascript
Vue使用Three.js加载glTF模型的方法详解
Jun 14 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
深入phpMyAdmin的安装与配置的详细步骤
2013/05/07 PHP
PHP比你想象的好得多
2014/11/27 PHP
php创建、获取cookie及基础要点分析
2015/01/26 PHP
php设计模式之单例模式代码
2016/06/11 PHP
In Javascript Class, how to call the prototype method.(three method)
2007/01/09 Javascript
javascript写的简单的计算器,内容很多,方法实用,推荐
2011/12/29 Javascript
Jquery通过Ajax方式来提交Form表单的具体实现
2013/11/07 Javascript
浅谈JavaScript Date日期和时间对象
2014/12/29 Javascript
Javascript中的Callback方法浅析
2015/03/15 Javascript
jquery实现两个图片渐变切换效果的方法
2015/06/25 Javascript
JS框架之vue.js(深入三:组件1)
2016/09/29 Javascript
JS 对java返回的json格式的数据处理方法
2016/12/05 Javascript
原生javascript实现图片放大镜效果
2017/01/18 Javascript
关于Vue背景图打包之后访问路径错误问题的解决
2017/11/03 Javascript
Vue 幸运大转盘实现思路详解
2019/05/06 Javascript
Jquery Datatables的使用详解
2020/01/30 jQuery
微信小程序实现同时上传多张图片
2020/02/03 Javascript
Python ORM框架SQLAlchemy学习笔记之安装和简单查询实例
2014/06/10 Python
python脚本内运行linux命令的方法
2015/07/02 Python
Python解析excel文件存入sqlite数据库的方法
2016/11/15 Python
python正则分析nginx的访问日志
2017/01/17 Python
tensorflow 打印内存中的变量方法
2018/07/30 Python
基于python实现数组格式参数加密计算
2020/04/21 Python
CSS3圆角边框和边界图片效果实例
2016/07/01 HTML / CSS
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
软件工程师面试题
2012/06/25 面试题
中医药大学市场营销专业自荐信
2013/09/29 职场文书
小学生自我鉴定
2013/10/12 职场文书
学习十八大坚定理想信念心得体会
2014/03/11 职场文书
入股协议书
2014/04/14 职场文书
最美孝心少年事迹材料
2014/08/15 职场文书
党员批评与自我批评总结
2014/10/15 职场文书
留学推荐信怎么写
2015/03/26 职场文书
2015社区爱国卫生工作总结
2015/04/21 职场文书
财务年终工作总结大全
2019/06/20 职场文书
MySQL创建高性能索引的全步骤
2021/05/02 MySQL