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 复杂的嵌套环境中输出单引号和双引号
May 26 Javascript
Javascript学习笔记1 数据类型
Jan 11 Javascript
小试JQuery的AutoComplete插件
May 04 Javascript
Prototype源码浅析 Number部分
Jan 16 Javascript
浅析JavaScript中的同名标识符优先级
Dec 06 Javascript
Bootstrap每天必学之附加导航(Affix)插件
Apr 25 Javascript
JavaScript生成指定范围的时间列表
Mar 19 Javascript
Vue中android4.4不兼容问题的解决方法
Sep 04 Javascript
vue 刷新之后 嵌套路由不变 重新渲染页面的方法
Sep 13 Javascript
浅谈Angular 观察者模式理解
Nov 01 Javascript
使用jQuery动态设置单选框的选中效果
Dec 06 jQuery
JS开发常用工具函数(小结)
Jul 04 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动态生成虚拟现实VRML网页
2006/10/09 PHP
在命令行下运行PHP脚本[带参数]的方法
2010/01/22 PHP
mcrypt启用 加密以及解密过程详细解析
2013/08/07 PHP
php防止sql注入简单分析
2015/03/18 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
有效的捕获JavaScript焦点的方法小结
2009/10/08 Javascript
jQuery.ajax 用户登录验证代码
2010/10/29 Javascript
qq悬浮代码(兼容各个浏览器)
2014/01/29 Javascript
对table和ul实现js分页示例分享
2014/02/24 Javascript
JSONP跨域的原理解析及其实现介绍
2014/03/22 Javascript
JQuery勾选指定name的复选框集合并显示的方法
2015/05/18 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
原生JS实现小小的音乐播放器
2017/10/16 Javascript
深入理解Angular4订阅(Subscribe)与取消
2017/11/22 Javascript
微信小程序wx.request实现后台数据交互功能分析
2017/11/25 Javascript
vue axios整合使用全攻略
2018/05/24 Javascript
Vue CLI 3.x 自动部署项目至服务器的方法
2019/04/02 Javascript
JQuery获取元素尺寸、位置及页面滚动事件应用示例
2019/05/14 jQuery
vue+elementUi图片上传组件使用详解
2019/08/20 Javascript
[49:40]2018DOTA2亚洲邀请赛小组赛 A组加赛 TNC vs Newbee
2018/04/03 DOTA
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python 列表的清空方式
2020/01/13 Python
详解Python3中的 input() 函数
2020/03/18 Python
Python中格式化字符串的四种实现
2020/05/26 Python
Python 如何创建一个简单的REST接口
2020/07/30 Python
python批量生成条形码的示例
2020/10/10 Python
如何向scrapy中的spider传递参数的几种方法
2020/11/18 Python
基于CSS3的animation属性实现微信拍一拍动画效果
2020/06/22 HTML / CSS
Carter’s官方旗舰店:美国受欢迎的婴童服装品牌
2018/01/21 全球购物
加拿大领先的牛仔零售商:Bluenotes
2018/01/22 全球购物
快餐店的创业计划书范文
2014/01/29 职场文书
《风筝》教学反思
2014/04/10 职场文书
2014教育局对照检查材料思想汇报
2014/09/23 职场文书
Django项目如何正确配置日志(logging)
2021/04/29 Python
vue实现Toast组件轻提示
2022/04/10 Vue.js