js数组对象常用方法小结
~~~数组添加元素后一般返回数组的新长度 如: push(ele1[,ele2...]), unshift(ele1[,ele2...])
~~~数组删除元素后一般返回被删除的元素 如: pop() , shift()
var colors = new Array();
var count = colors.push("red","green","black");
alert(count); //3
说明:push方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后数组的长度。
var item = colors.pop();
alert(item); //black
说明:pop方法从数组末尾移除最后一项,减少数组的length值,并返回移除的项。
item = colors.shift();
alert(item); //red
说明:shift方法移除数组中的第一项并返回该项,数组长度减1。
count = colors.unshift("yellow","pink");
alert(count); //3
说明:unshift方法在数组前端添加任意个项并返回新数组的长度。
~~~~arrr.slice(startIndx[, endIndx])返回新的数组 不影响原有数组
var colors1 = ["red","green","blue","yellow","purple"];
var colors2 = colors1.slice(1);
var colors3 = colors1.slice(1,4);
alert(colors1); //red,green,blue,yellow,purple
alert(colors2); //green,blue,yellow,purple
alert(colors3); //green,blue,yellow
说明:slice方法可以接受一或两个参数,即要返回项的起始和结束位置。在只有一个参数的情况下,slice方法返回从该参数指定位置开始到当前数组末尾的所有项。如果有两个参数,该方法返回起始和结束位置之间的项--但不包括结束位置的项。注意,slice方法不会影响原始数组。
如果slice方法的参数中有一个负数,则用数组长度加上该数来确定相应的位置。如,一个包含5项的数组调用slice(-2,-1)与调用slice(3,4)得到的结果相同。如果结束位置小于起始位置,则返回空数组。
~~~~ arr.splice(startIndx, len, rep1,rep2) len=0 有rep1...则插入 len>0无rep1,rep2参数则表示删除 len>0,rep1,rep2则表示替换
splice --删除
var colors = ["red","green","blue"];
var removed = colors.splice(0,1); //删除第一项
alert(colors); //green,blue
alert(removed); //red
splice --插入
removed = colors.splice(1,0,"yellow","orange"); //从位置1开始插入两项
alert(colors); //green,yellow,orange,blue
alert(removed); //返回空数组
splice --替换
removed = colors.splice(1,1,"red","purple"); //插入两项,删除一项
alert(colors); //green,red,purple,orange,blue
alert(removed);//yellow,返回的数组中包含的是删除的一项
说明:splice方法有删除、插入、替换作用,返回的是删除项的值。
有以下三种情况:
1、splice(m,n); 从位置M开始,删除N项 --删除
2、splice(m,0,n1,n2...); 从位置M开始,插入n1,n2... --插入
3、splice(m,a,n1,n2...);从位置M开始,删除a项后插入n1,n2... --替换
js数组对象常用方法小结的更多相关文章
- JS数组array常用方法
JS数组array常用方法 1.检测数组 1)检测对象是否为数组,使用instanceof 操作符 if(value instanceof Array) { //对数组执行某些操作 } 2)获取对象的 ...
- JavaScript数组对象常用方法
JavaScript数组对象常用方法 方法 形式 返回值 是否改变原数组 描述 concat -items: ConcatArray[] 追加之后的数组 否 连接两个或更多的数组,并返回结果.注意 c ...
- 判断js数组/对象是否为空
/** * 判断js数组/对象是否为空 * isPrototypeOf() 验证一个对象是否存在于另一个对象的原型链上.即判断 Object 是否存在于 $obj 的原型链上.js中一切皆对象,也就是 ...
- js 数组的常用方法
pop,push,reverse,shift,sort,splice,unshift 会改变原数组 join,concat,indexOf,lastIndexOf,slice,toString 不会改 ...
- js数组去重常用方法
js数组去重是面试中经常会碰到的问题,无论是前端还是node.js数组常见的有两种形式,一种是数组各元素均为基本数据类型,常见的为数组字符串格式,形如['a','b','c'];一种是数组各元素不定, ...
- js 数组对象的操作方法
在jquery中处理JSON数组的情况中遍历用到的比较多,但是用添加移除这些好像不是太多. 今天试过json[i].remove(),json.remove(i)之后都不行,看网页的DOM对象中好像J ...
- js数组的方法小结
js中数组是一种非常常用数据结构,而且很容易模拟其他的一些数据结构,比如栈和队列.数组的原型Array.prototype内置了很多方法,下面就来小小总结一下这些方法. 检测数组就不用多说了,使用EC ...
- JS数组&对象遍历
遍历的总结,经常用到的,希望帮助你我成长. JS数组遍历: 1,普通for循环 var arr = [1,2,3,4,9]; for ( var i = 0; i <arr.length; i+ ...
- js数组对象排序详解
一.js对象遍历输出的时候真的是按照顺序输出吗? 下边就来实践一下: var obj={'3':'ccc',name:'abc',age:23,school:'sdfds',class:'dfd',h ...
随机推荐
- samba服务器的安装及配置
安装前首先查看服务器是否已经安装samba服务器 [root@bogon home]# rpm -qa|grep samba system-config-samba-docs-1.0.9-1.el6. ...
- Archlinux 安装配置指导 2015-05-24
因为用的Linode VPS的系统是Archlinux的,想在本地弄个系统做测试用,这样比较方便.然后发现自己在6年前做的一个Archlinux 安装配置Flash,好怀念的赶脚. 时过进迁,没想到A ...
- Oracle的字符替换函数translate用法
参考文档如下:http://www.banping.com/2009/05/18/oracle_function_translate/ Oracle提供了一个字符替换函数translate,不同于re ...
- linq中的cast<T>()及OfType<T>()
DataTable dt=...........//获取从数据库中取出的数据(假设只有一条记录) //Cast<T>()用来将非泛型的序列转换为泛型的序列 DataRow row=dt.R ...
- 穿透的 div ( pointer-events )
pointer-events 是一個滿有趣的 CSS3 屬性,雖然主要是針對 SVG ,但其中幾個屬性應用在 div 上也是頗有意思.顧名思義,這是一個針對滑鼠事件的屬性,預設值為 auto,若值為 ...
- java 中有几种方法可以实现一个线程? 用什么关键字修 饰同步方法? stop()和 suspend()方法为何不推荐使用?
java5 以前, 有如下两种:第一种:new Thread(){}.start();这表示调用 Thread 子类对象的 run 方法, new Thread(){}表示一个Thread 的匿名子类 ...
- mysql innodb init function error
150414 16:23:07 [ERROR] Plugin 'InnoDB' init function returned error. 150414 16:23:07 [ERROR] Plugin ...
- iScroll 4,把禁掉的:active样式还给我~
iScroll这个移动端的滚动神器大家都非常熟悉了,直到现在仍是实现移动端Web滚动的首选方案之一... 当我接触移动端Web时iScroll已经有两个版本了,iScroll 4和iScroll 5, ...
- java计算器
由于自己的实验报告 需要用Java来写一个实验报告.自己本没有怎么学过Java,但是学的话也就认真的学一下,毕竟技术这条路线是技多不压身.于是在网站上找来了一些资料,关于Java到底是干什么的, ...
- BaaS with Kinvey and Delphi 10.1 Berlin
In this article I will show you how to connect yourdesktop and mobile applications to a mobile backe ...