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 相关文章推荐
静态图片的十一种滤镜效果--不支持Ie7及非IE浏览器。
Mar 06 Javascript
基于JQUERY的多级联动代码
Jan 24 Javascript
js获取location.href的参数实例代码
Aug 02 Javascript
Javascript基础 函数“重载” 详细介绍
Oct 25 Javascript
js 3种归并操作的实例代码
Oct 30 Javascript
整理Javascript流程控制语句学习笔记
Nov 29 Javascript
Vue学习笔记进阶篇之vue-router安装及使用方法
Jul 19 Javascript
angular4实现tab栏切换的方法示例
Oct 21 Javascript
微信小程序商品详情页规格属性选择示例代码
Oct 30 Javascript
详解node字体压缩插件font-spider的用法
Sep 28 Javascript
Element Collapse 折叠面板的使用方法
Jul 26 Javascript
解决vue使用vant轮播组件swipe + flex时文字抖动问题
Jan 07 Vue.js
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手机号码归属地查询代码(API接口/mysql)
2012/09/04 PHP
PHP5.4中json_encode中文转码的变化小结
2013/01/30 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
2013/06/05 PHP
关于svn冲突的解决方法
2013/06/21 PHP
PHP实现的最大正向匹配算法示例
2017/12/19 PHP
ThinkPHP框架实现定时执行任务的两种方法分析
2018/09/04 PHP
php的优点总结 php有哪些优点
2019/07/19 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
xml分页+ajax请求数据源+dom取结果实例代码
2008/10/31 Javascript
jquery1.4 教程二 ajax方法的改进
2010/02/25 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
jquery选择器之基本过滤选择器详解
2014/01/27 Javascript
jQuery实现加入购物车飞入动画效果
2015/03/14 Javascript
Javascript基础教程之比较null和undefined值
2016/05/16 Javascript
Vuejs第十篇之vuejs父子组件通信
2016/09/06 Javascript
React服务端渲染(总结)
2017/07/01 Javascript
详解vue-cli + webpack 多页面实例配置优化方法
2017/07/13 Javascript
详解vue-cli中的ESlint配置文件eslintrc.js
2017/09/25 Javascript
JS实现按钮颜色切换效果
2020/09/05 Javascript
基于IView中on-change属性的使用详解
2018/03/15 Javascript
Webpack 之 babel-loader文件预处理器详解
2018/03/23 Javascript
微信小程序 腾讯地图显示偏差问题解决
2019/07/27 Javascript
vue-router重写push方法,解决相同路径跳转报错问题
2020/08/07 Javascript
原生js实现分页效果
2020/09/23 Javascript
Vue+scss白天和夜间模式切换功能的实现方法
2021/01/05 Vue.js
[37:47]IG vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
在Python文件中指定Python解释器的方法
2019/02/18 Python
Python OpenCV 使用滑动条来调整函数参数的方法
2019/07/08 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
让IE6支持css3,让 IE7、IE8 都支持CSS3
2011/10/09 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
介绍Ibatis的核心类
2013/11/18 面试题
写作技巧:如何撰写商业计划书
2019/08/08 职场文书
Java实现斗地主之洗牌发牌
2021/06/14 Java/Android
Java 超详细讲解IO操作字节流与字符流
2022/03/25 Java/Android