数组中有很多很多的方法使用,常用的方法有 join、push、map、filter、every、foEach、reduce等等
已知的数组中的方法如下:
1. join
作用:用指定的分隔符将数组每一个元素拼接为字符串
参数: 指定的分隔符(如果省略该参数,则默认是逗号隔开)
返回值:拼接好的字符串
不会改变原数组
2. pop()
作用:删除数组的最后一个元素
参数:无
返回值:被删除的元素
会改变原数组
3. push()
作用:向数组的末尾添加新内容
参数 可以添加多个元素 用逗号隔开 任何数据类型都可以
返回值 新增后数组的长度
会改变原数组
4. shift()
作用:删除数组的第一个元素
参数:无
返回值:被删除的元素
会改变原数组
5. unshift()
作用:向数组首位添加新内容
参数:要添加的元素, 添加多个元素用逗号隔开
返回值:新数组的长度
会改变原数组
6. slice()
作用:按照条件查找出其中的部分内容
参数: arr.slice(n,m)从索引n开始查找到m处(不包括m)
arr.slice(n)第二个参数省略,则一直查找到末尾
arr.slice(0)原样输出内容,可以实现数组克隆
arr.slice(-n,-m)slice支持负参数,从最后一个元素开始算起,-1为最后
一个元素,-2为倒数第二个元素
返回值:返回一个新数组
不改变原数组
7. splice()
作用:对数组进行增删改
增加:arr.splice(n,0,m)从索引n开始删除0项,把m或者更多的内容插入到索引n的前面
返回空数组
修改:arr.splice(n,x,m)从索引n开始删除x个,m替换删除的部分
把原有内容删除掉,然后用新内容替换掉
删除:arr.splice(n,m)从索引n开始删除m个内容
(如果第二个参数省略,则从删除到末尾)就是从n开始之后的元素都删除
返回删除的新数组,原有数组会改变
8. concat()
作用:用于连接两个或多个数组
参数:参数可以是具体的值,也可以是数组对象。可以是任意多个
返回值:返回连接后的新数组
不改变原数组
9. indexOf()
作用:检测当前值在数组中第一次出现的位置索引
参数:arr.indexOf(item,start)item:查找的元素 start:字符串中开始检索
的位置
返回值:第一次查到的索引,未找到返回-1
不改变数组
10. lastlndexOf()
作用:检测当前值在数组中最后一次出现的位置索引
参数:array.lastIndexOf(item,start) item:查找的元素 start:字符串中开始
检索的位置
返回值:第一次查到的索引,未找到返回-1
不改变原数组
11. includes()
作用:判断一个数组是否包含一个指定的值
参数:指定的内容
返回值:布尔类型
不改变原数组
12. sort()
作用:对数组的元素进行排序(默认是从小到大来排序 并且是根据字符串来排序的)
参数:可选(函数) 规定排序规则 默认排序顺序为按字母升序
返回值:排序后新数组
改变原数组
sort在不传递参数情况下,只能处理10以内(个位数)数字排序
13. map()
作用:按照某种映射关系,把数组的每一个元素给修改了
回调函数执行次数 == 数组长度
返回值:返回映射之后的新数组 如果没有return, 则map的返回值都是undefined
经典场景:数据驱动渲染dom树(将数组直接渲染到页面)
14. filter()
作用:筛选数组
回调函数执行次数 == 数组长度
return true : 符合筛选条件,当前元素放入新数组中
return false : 不符合筛选条件,当前元素不放入新数组中
返回值:返回筛选之后的新数组
应用场景: 筛选数组,将符合条件的元素放入新数组中
15. some()
作用:判断数组中是否有符合条件的元素 (逻辑或 ||)
回调函数执行次数 != 数组长度
return true : 循环结束。 找到了满足条件的元素
return false : 循环继续。 没找到,循环继续。 如果所有元素全部遍历还是没找
到,最终结果就是false
返回值: true : 有符合条件的元素
false : 没有符合条件的元素
16. forEach()
作用:遍历数组 类似于for循环遍历数组
回调函数执行次数 == 数组长度
没有返回值
17. every()
作用:判断数组中 是否所有的 元素都满足条件 (逻辑与&&)
回调函数执行次数 != 数组长度
return true : 循环继续。当前元素满足条件,则继续判断,如果循环执行完毕
还是true,则最终的结果就是true
return false : 循环结束。 只要找到不满足条件的元素,循环结束。最终every
的返回值是false
返回值:true : 所有的元素 都符合条件
false : 有元素 不符合条件
应用场景: 开关思想 (购物车全选框)
18. findIndex()
作用: 查找元素的下标
回调函数执行次数 != 数组长度
return true : 循环结束。 找到了,此时返回值就是下标
return false : 循环继续。 没找到,循环继续。 如果所有元素全部遍历还是
没找到,最终结果就是-1
返回值:元素下标 或者 -1
19. reduce()
作用:求数组累加和方法
对数组每一个元素执行一次回调函数,累加最后一次回调的结果
参数:第一个是reduce回调函数,第二个是初始值 一般为0
在回调函数中还有四个参数
1. 函数处理累加的计算结果
2.当前被执行的数组元素
3.当前被执行的数组元素下标
4.原数组,也就是调用reduce方法的数组
reduce场景: 数组元素求和、求数组元素最大值