Array
创建
- new+构造函数
new Array(5);new Array('red');
- 数组字面量
Array.from()用于将类数组转换为数组Array.of()用于将一组参数转换为数组实例
数组空位
const options = [1,,,,5]; 值为undefined
检测数组
value instanceof ArrayArray.isArray(value)
迭代器方法
keys()values()extries()
- 都返回迭代器,可通过Array.from()转换为数组实例
复制和填充方法
copyWithin()批量复制fill()填充数组- fill(填充值, 开始索引, 结束索引)
- 索引可传负值
转换方法
toLocaleString()toString()- 返回逗号分隔的字符串
valueOf()- 返回数组本身
join()- 接受分隔符,不传默认使用逗号分隔
栈方法
push()- 接受任意数量的参数,添加到数组末尾
- 返回最新的长度
pop()- 删除数组最后一项
- 返回被删除的项
队列方法
shift()- 删除数组的第一项
- 返回被删除的项
unshift()- 在数组开头添加任意多个值
- 返回新的数组长度
排序方法
reverse()- 将数组元素反向排列
- 会改变原数组
sort()- 按照升序或指定顺序排列数组
- 接受一个比较函数,如果val1应在val2之后,返回正值,如果相等,返回0,如果应该之前,返回负值
操作方法
concat()- 在现有数组全部元素基础上创建一个新数组,返回新数组
- 接受多个数组或多个数组元素
slice()- 返回基于原数组索引之间的新数组
- 接受一个参数时:返回从该索引到末尾的所有元素
- 接受两个参数时:返回从开始索引到结束索引之间的元素,不包含结束索引
- 在包含 5 个元素的数组上调用 slice(-2,-1),就相当于调用 slice(3,4)。如果结束位置小于开始位置,则返回空数组。
splice()在数组中间插入元素- 删除:(要删除的第一个元素的位置,要删除的数量)splice(0, 2)会删除前两个元素
- 插入:(开始位置,0(要删除的数量),要插入的元素,....)
- 替换:(开始位置,要删除的数量,要插入的元素,....)
- 返回被删除的元素的数组
搜索和位置方法
严格相等
indexOf()- 返回查找元素的位置,没找到返回-1
lastIndexOf()- 返回查找元素的位置,没找到返回-1
includes()- 返回布尔值
- 参数:(要查找的元素,【起始搜索位置】)
断言函数
find()- 返回第一个匹配的元素
findIndex()- 返回第一个匹配元素的索引
- 参数:func(元素,索引,数组本身){}
迭代方法
every()- 对数组每一项都运行传入的函数,如果对每一项函数都返回 true,则这个方法返回 true
some()- 对数组每一项都运行传入的函数,如果有一项函数返回 true,则这个方法返回 true
filter()- 对数组每一项都运行传入的函数,函数返回 true 的项会组成数组之后返回
forEach()- 对数组每一项都运行传入的函数,没有返回值
map()- 对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组
- 这些方法都不改变调用它们的数组
归并方法
reduce()- 从数组第一项开始遍历到最后一项
reduceRight()- 反之
- 参数:func(上一个归并值,当前项,当前项的索引,数组本身){}