JavaScript数组中常用的方法

一.对象继承方法

toString()方法

1)作用:将一个数组转换为字符串

2)语法:var arr=Array.toString()

注意:如果数组中的某一项的值是null或者undefined,则该值在toString()方法返回的结果中以空字符串表示

二.数组转换方法

join()方法

1)作用:将数组中的元素通过指定的分隔符连接到一起,并返回连接后的字符串

2)语法:var arr=Array.join(‘&’);

注意:1)若join()方法的参数是undefined,标准浏览器以逗号为分隔符返回字符串,而IE7-浏览器以’undefined’为分隔符返回字符串

2)如果数组中的某一项的值是null或者undefined,则该值在join()方法返回的结果中以空字符串表示

三.数组排序方法

a) reverse()方法

1) 作用:用于反转数组顺序,返回经过排序之后的数组;而原数组发生改

2) 语法:var arr=Array.reverse();

注意:该数组不会改变原数组的内容

b) sort() 方法

1)作用:默认情况下,按照元素的Unicode码大小按升序排列

2)特殊:允许自己指定排序函数,从而实现对数字的升序和降序的排列

3)语法:var arr=Array.sort(排序函数)

原理:指定排序函数 如 sortAsc,定义 两个参数,如a和b。数组会自动传递数据到sortAsc里面去,如果返回值是>0的数,则交换两个数的位置,否则不变

四.数组拼接方法

concat()

1)作用:拼接两个或更多的数组,并返回拼接后的结果

2)语法:var result=Array.concat(arr2,arr3,arr4)

注意:Concat不会改变现有数组,而是返回拼接后的数组;每个参数不一定必需是数组,也可以是普通数据

五.创建子数组方法

sclice() 方法

1)作用:从指定数组中,截取几个连续的元素组成的新数组

2)语法:var arr=Array.slice(start,[end]);

3)公式:如果start是负数,则start = max(length + start,0)

如果end是负数,则end = max(length + end,0)

注意:

start:从哪个下标处开始截取,取值为正,从前向后取,取值为负,从后向前算位置。

end : 指定结束处的下标(不包含),该参数可以省略,如果省略的话,就是从start一直截取到结束

六.数组删改方法

splice() 方法

1)作用:允许从指定数组中,删除一部分元素,同时再添加另一部分元素,返回一个由删除元素组成的数组

2)语法:Array.splice(start,count,e1,e2,... ...)

start:指定添加或删除元素的起始位置/下标

count:要删除的元素个数,取值为表示不删除

e1,e2,... ... : 要增加的新元素,允许多个

返回值:返回一个由删除元素所组成的数

注意:1)splice会改变现有数组,或者如果没有删除元素就返回一个空数组

2)如果start是负数,则start = max(length + start,0);如果start是NaN,则相当于start = 0

3)如果只提供一个元素,相当于将原数组在指定位置拆分成两个数组

七.栈和队列方法

push()

1)作用:入栈,在栈顶(数组的尾部)添加指定的元素,并返回新数组的长度

2)语法:Array.push();

pop()

1)作用:出栈,删除并返回栈顶的(数组尾部)元素

2)语法:Array.pop();

注意:对空数组使用pop()方法,不会报错,而是返回undefined

shift()

1)作用:删除数组头部的(第一个)元素并返回,同时数组的长度减1。所以,该数组会改变原数组

2)语法:Array.shift();

注意:对空数组使用shift()方法,不会报错,而是返回undefined

unshift()

1)作用:在数组的头部(第一个)元素位置处,增加新元素,并返回新数组长度。所以,该数组会改变原数组

2)语法:Array.unshift();

注意:当使用多个参数调用unshift()时,参数是一次性插入的而非一次一个地插入。这意味着最终的数组中插入的元素的顺序和它们在参数列表中的顺序一致

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180528G1UITU00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券