数组的方法

136 阅读3分钟

不改变原数组的方法

push()

该方法可以在数组的最后面,添加一个或者多个元素
返回值:返回的是添加元素后数组的长度.

unshift()

该方法可以在数组的最前面,添加一个或者几个元素
返回值: 返回的是添加元素后数组的长度

shift()

删除数组的第一项 返回值:被删除的项\

pop()

删除数组的最后一项
参数:无
返回值:被删除的项

sort()

对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)
参数:可选(函数) 规定排序规则 默认排序顺序为按字母升序
返回值:排序后新数组
是否改变原数组:改变
sort在不传递参数情况下,只能处理10以内(个位数)数字排序 注意:回调函数的返回值为正数则交换位置----a-b(升序)

reverse()

把数组倒过来排列
参数:无
返回值:倒序后新数组

splice()

对数组进行增删改
增加:ary.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面 返回空数组
修改:ary.splice(n,x,m)从索引n开始删除x个,m替换删除的部分 把原有内容删除掉,然后用新内容替换掉
删除:ary.splice(n,m) 从索引n开始删除m个内容
(如果第二个参数省略,则从n删除到末尾)
返回删除的新数组,原有数组改变

不改变原数组的方法

join()

用指定的分隔符将数组每一项拼接为字符串
参数:指定的分隔符(如果省略该参数,则使用逗号作为分隔符)
返回值:拼接好的字符串

concat()

用于连接两个或多个数组
参数:参数可以是具体的值,也可以是数组对象。可以是任意多个
返回值:返回连接后的新数组

indexOf()和astIndexOf()

检测当前值在数组中第一次出现的位置索引
参数:array.indexOf(item,start)
----item:查找的元素
----start:字符串中开始检索的位置
返回值:第一次查到的索引,未找到返回-1
-================-==========================
astIndexOf()检测当前值在数组中最后一次出现的位置索引
参数:array.lastIndexOf(item,start)
----item:查找的元素
----start:字符串中开始检索的位置
返回值:第一次查到的索引,未找到返回-1

slice()

array.slice(n, m),从索引n开始查找到m处(不包含m)
array.slice(n) 第二个参数省略,则一直查找到末尾
array.slice(0)原样输出内容,可以实现数组克隆
array.slice(-n,-m) slice支持负参数,从最后一项开始算起,-1为最后一项,-2为倒数第二项
返回值:返回一个新数组

includes()

判断一个数组是否包含一个指定的值
参数:指定的内容
返回值:布尔值

forEach()

循环遍历数组每一项

参数:函数 ary.forEach((item,index,ary)=>{})
-------item:每一项
-------index:索引
-------ary:当前数组
返回值:无
forEach中不能使用continue和break,forEach中不能跳出,只能跳过(return跳过)

filter()

它创建一个新数组,新数组中的元素是通过检查指定数组中符合条件的所有元素 参数 是回调函数 返回值:新数组

filter()基本语法:
       arr.filter(callback[, thisArg])

   filter()参数介绍:
      参数名    说明
      callback   用来测试数组的每个元素的函数。调用时使用参数 (element, index, array)
      返回true表示保留该元素(通过测试),false则不保留。
      thisArg    可选。执行 callback 时的用于 this 的值。