JS数组常用操作方法

举报
zhxping 发表于 2017/12/12 09:00:56 2017/12/12
【摘要】 JS数组常用操作方法JS数组的添加、删除、替换、截取、合并、排序等常用方法介绍。1 添加元素: 1.1 unshift(arg) 将参数添加到原数组开头,并返回数组的长度。(unshift()方法是把他的参数添加到array头部,并将已存在的元素依次向较高下标处移动,所添加的第一个元素为array的第一个元素,所添加的第二个元素为array的第二个元素,以此类推。)注:这

JS数组常用操作方法

JS数组的添加、删除、替换、截取、合并、排序等常用方法介绍。

1      添加元素:   

1.1      unshift(arg)  

将参数添加到原数组开头,并返回数组的长度。(unshift()方法是把他的参数添加到array头部,并将已存在的元素依次向较高下标处移动,所添加的第一个元素为array的第一个元素,所添加的第二个元素为array的第二个元素,以此类推。)

blob.png

:这个方法的返回值不可靠,IE6.0等低版本下测试返回值为undefinedIE9下可以正常返回。如果需要使用数组长度,建议使用其length属性。

blob.png


1.2      push(arg)   

将参数添加到原数组末尾,并返回数组的长度。可一次push多个元素,会根据传入参数的顺序,依次放入数组中。

blob.png

2      删除元素:   

2.1      shift()   

移除数组中第一个元素,并返回该元素。(一次只移除一个元素,无参)

blob.png

2.2      pop()   

移除数组中末尾元素,并返回该元素。(一次只移除一个元素,无参)

blob.png

3      splice ( start, deleteCnt, args ):   

功能强大的splice ( start, deleteCnt, args ),可以对原数组任意位置的元素进行添加删除操作。

splice(start,deleteCnt,args) 中的start表示开始操作元素的下标,deleteCnt表示从开始下标开始(包括该元素)要删除的元素个数,删除操作返回删除的元素。args表示用来替换删除掉的那些元素(可以有多个参数)startdeleteCnt必须为数字,如果不是数字尝试转换,转换失败当做0来处理。splice必须至少有一个start元素,否则不做任何操作。deleteCnt不存在表示删除start及后面的全部元素(IE下,取0不做删除)start可以为负数,表示从数组右边结尾处开始计算。deleteCnt如果为负数不做删除,因为不可能删除负个元素。


3.1      添加:splice(start,0,args)   

Start:开始操作元素的下标——要插入的元素所在数组的位置(下标,必须为数字,可以为负数,表示从数组右边结尾处开始计)

0:要删除的元素个数——0表示删除0个元素,即不删除。

Arg:要添加的一个或多个元素。

blob.png

3.2      删除:splice(start,deleteCnt)    

返回删除的元素。

Start:开始操作元素的下标——从数组中那个元素开始删除。(下标)

注意:

1.       必选

2.       必须为数字

3.       可以为负数,表示从数组右边结尾处开始计算。

4.       Start不存在时,不做任何操作

deleteCnt:要删除的元素个数。从Start开始算起。

注意:

1.       必须为数字

2.       不存在则删除start后面全部元素

3.       deleteCnt大于Start后所剩元素个数时,只删除Start后所有元素,不修改start之前元素。

4.       deleteCnt0时,不删除任何元素。

5.       deleteCnt为负数时,不删除任何元素。等效于deleteCnt0

blob.png

3.3      替换:splice(start,deleteCnt,args)   

参数规则同上。

arg替换删除的deleteCnt个元素。位置从start开始。返回被删除的元素。

blob.png

4      排序:   

4.1      sort()   

sort(function)是针对原数组进行的排序,不会生成新的数组。

1.       默认sort()不带参数时按照数组中的元素转换成字符串进行比较,比较的时候按照字符在字符编码中的顺序进行排序,每个字符都有一个唯一的编码与其对应。

blob.png

blob.png


为什么???

2.       sort(function)方法除了默认的无参外还可以传入自定义的排序方法,数组会根据传入的方法规则进行排序。


4.2      reverse()   

将原数组中元素反转。不会生成新的数组。(反序)

blob.png

5      截取和合并:   

5.1      合并concat()   

concat(arg) copy原数组并合并参数中的元素到这个新数组中,并返回。原数组不变。(返回一个新数组)

blob.png

5.2      截取slice()   

slice(start,end)用来截取原数组中start()end下标的元素,返回一个新的数组,原数组不会改变,其操作方式跟stringslice类似。

1、start必选

2start,end必须为数字

3start,end可为负数。

4end不存在或超过所剩长度时,截取start到数组末尾的元素。0<=end<=start时,返回空数组

5、返回截取的新数组,原数组不变。

blob.png


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。