数组方法总结
数组常用方法 - 总结
1. push()
=> 后面追加
=> 返回值: 追加后数组最新的长度
2. pop()
=> 后面删除
=> 返回值: 被删除的数据
3. unshift()
=> 前面添加
=> 返回值: 添加后数组最新的长度
4. shift()
=> 前面删除
=> 返回值: 被删除的数据
5. reverse()
=> 数组反转
=> 返回值: 反转后的数组
6. sort()
=> 数组.sort() ASCII
=> 数组.sort(function (a, b) { return a - b }) 升序
=> 数组.sort(function (a, b) { return b - a }) 降序
=> 数组排序
=> 返回值: 排序后的数组
7. splice()
=> 数组.splice(开始索引, 多少个)
=> 数组.splice(开始索引, 多少个, 插入数据)
=> 数组截取并选择性的插入数据, 注意: 从哪里删除, 从哪里插入
=> 返回值: 一个新的数组, 存储的是截取出来的所有内容
===================== 以上数组常用方法, 都是直接改变原始数组 =====================
8. concat()
=> 拼接数组
=> 返回值: 拼接好的新数组
9. join(连接符)
=> 使用连接符连接数组内的每一项
=> 返回值: 一个字符串类型, 使用连接符连接好的内容
10. slice()
=> 数组.slice(开始索引, 结束索引)
-> 特点1: 包前不包后
-> 特点2: 可以填写负整数
=> 截取数组内的内容
=> 返回值: 一个新的数组, 数组内存储的是截取出来的内容
11. indexOf()
=> 从前向后检索数据出现的索引位置
=> 返回值: 如果有这个数据, 就是第一次出现的索引位置, 如果没有这个数据, 就是 -1
12. lastIndexOf()
=> 从后向前检索数据出现的索引位置
=> 返回值: 如果有这个数据, 就是第一次出现的索引位置, 如果没有这个数据, 就是 -1
13. forEach(function (item, index, arr) {})
=> 遍历数组
=> 返回值: 没有
14. map(function (item, index, arr) {})
=> 映射数组
=> 返回值: 一个新的数组, 对原始数组内每一项操作后的结果
15. filter(function (item, index, arr) {})
=> 过滤数组
=> 返回值: 一个新的数组, 原始数组内满足条件的新数组
16. every(function (item, index, arr) {})
=> 判断是否每一项都满足条件
=> 返回值:
-> 如果数组内每一项都满足条件, 那么返回 true
-> 只要有任何一项不满足条件, 那么返回 false
17. some(function (item, index, arr) {})
=> 判断是否某一项满足条件
=> 返回值:
-> 如果数组内有任何一项满足条件, 那么返回 true
-> 只有数组内所有都不满足条件, 那么返回 false
18. find(function (item, index, arr) {})
=> 根据条件查找数组中的数据
=> 返回值: 查找到的数据
19. findIndex(function (item, index, arr) {})
=> 根据条件查找数组中的数据所在的索引位置
=> 返回值: 查找到的数据的索引位置
20. flat(数字)
=> 拍平数组
=> 数组: 书写多少, 就是拍平多少层
-> 可以书写 Infinity 来表示全部拍平
=> 返回值: 一个被拍平的数组
21. fill()
=> 填充数组
=> 数组.fill(填充数据, 开始索引, 结束索引)
-> 特点: 包前不包后
=> 注意: 会直接改变原始数组
=> 注意: 只能填充现有索引位置数据, 不能新增数据
22. includes()
=> 判断是否存在数据
=> 返回值: 一个布尔值
-> 如果数组内有该数据, 那么返回 true
-> 如果数组内没有该数据, 那么返回 false
23. reduce(function (prev, item, index, arr), init)
=> init 可以写可以不写, 不写的时候默认使用数组 [0] 位置的数据
=> 当 init 不写的时候, 遍历会从 [1] 开始
=> 当 init 书写的时候, 遍历会从 [0] 开始
=> 叠加数组
=> 返回值: 最终的叠加结果