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 相关文章推荐
对采用动态原型方式无法展示继承机制得思考
Dec 04 Javascript
(跨浏览器基础事件/浏览器检测/判断浏览器)经验代码分享
Jan 24 Javascript
jquery实现聚光灯效果的方法
Feb 06 Javascript
jQuery拖动布局其结果保存到数据库
Oct 09 Javascript
js控制TR的显示隐藏
Mar 04 Javascript
EasyUI的TreeGrid的过滤功能的解决思路
Aug 08 Javascript
JavaScript实现JSON合并操作示例【递归深度合并】
Sep 07 Javascript
vue-mugen-scroll组件实现pc端滚动刷新
Aug 16 Javascript
ant design实现圈选功能
Dec 17 Javascript
Vue数组响应式操作及高阶函数使用代码详解
Aug 01 Javascript
vue 虚拟DOM的原理
Oct 03 Javascript
详解JavaScript中的执行上下文及调用堆栈
Apr 29 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
ubuntu10.04配置 nginx+php-fpm模式的详解
2013/06/03 PHP
destoon实现调用当前栏目分类及子分类和三级分类的方法
2014/08/21 PHP
php防止sql注入之过滤分页参数实例
2014/11/03 PHP
Thinkphp5框架简单实现钩子(Hook)行为的方法示例
2019/09/03 PHP
Laravel框架处理用户的请求操作详解
2019/12/20 PHP
jQuery级联操作绑定事件实例
2014/09/02 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
AngularJS数据源的多种获取方式汇总
2016/02/02 Javascript
javascript 数组的定义和数组的长度
2016/06/07 Javascript
javascript中数组(Array)对象和字符串(String)对象的常用方法总结
2016/12/15 Javascript
NodeJS实现客户端js加密
2017/01/09 NodeJs
JS栈stack类的实现与使用方法示例
2019/01/31 Javascript
[02:11]2016国际邀请赛中国区预选赛全程回顾
2016/07/01 DOTA
[02:01]2018完美盛典-开场舞《双子星》
2018/12/16 DOTA
python多重继承实例
2014/10/11 Python
用Python实现通过哈希算法检测图片重复的教程
2015/04/02 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
Python基于pycrypto实现的AES加密和解密算法示例
2018/04/10 Python
Python rabbitMQ如何实现生产消费者模式
2020/08/24 Python
Python+OpenCV图像处理——图像二值化的实现
2020/10/24 Python
html5时钟实现代码
2010/10/22 HTML / CSS
canvas之自定义头像功能实现代码示例
2017/09/29 HTML / CSS
HTML5适合的情人节礼物有纪念日期功能
2021/01/25 HTML / CSS
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
Vivo俄罗斯官方在线商店:中国智能手机品牌
2019/10/04 全球购物
Booking.com亚太地区:Booking.com APAC
2020/02/07 全球购物
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
美国在线家具网站:GDFStudio
2021/03/13 全球购物
会计系毕业个人自荐信格式
2013/09/23 职场文书
家长会邀请书
2014/01/25 职场文书
捐款倡议书范文
2014/02/02 职场文书
新闻传播专业求职信
2014/07/22 职场文书
手术室护士节演讲稿
2014/08/27 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
DBCA命令行搭建Oracle ADG的流程
2021/06/11 Oracle