JavaScript 中操作数组的方法非常丰富,这些方法大致可以分为几类:创建和初始化数组、添加元素、删除元素、遍历数组、搜索元素、数组排序、数组映射和过滤等。以下是一些常用的数组操作方法:
1. 创建和初始化数组
Array():创建一个空数组,或者根据提供的参数创建一个具有特定长度或特定元素的数组。
Array.of():创建一个具有可变数量参数的新数组实例,而不考虑参数的数量或类型。
Array.from():从类似数组或可迭代的对象中创建一个新的浅拷贝数组实例。
2. 添加元素
push():在数组的末尾添加一个或多个元素,并返回新的长度。
unshift():在数组的开头添加一个或多个元素,并返回新的长度。
splice():通过删除现有元素和/或添加新元素来更改一个数组的内容。
3. 删除元素
pop():删除并返回数组的最后一个元素。
shift():删除并返回数组的第一个元素。
splice():同上,也可用于删除元素。
4. 遍历数组
forEach():对数组的每个元素执行一次提供的函数。
map():创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
filter():创建一个新数组, 其包含通过所提供函数实现的测试的所有元素。
reduce():对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
every():测试一个数组内的所有元素是否都能通过被提供的函数测试。
some():测试数组中是不是至少有1个元素通过了被提供的函数测试。
find():返回数组中满足提供的测试函数的第一个元素的值。
findIndex():返回数组中满足提供的测试函数的第一个元素的索引。如果不存在,则返回-1。
5. 搜索元素
indexOf():返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
findIndex():同上,但允许你使用测试函数来搜索元素。
includes():用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。
6. 数组排序
sort():对数组的元素进行排序,并返回数组。
7. 数组映射和过滤
map():如之前所述,用于创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
filter():如之前所述,用于创建一个新数组,其包含通过所提供函数实现的测试的所有元素。
8. 其他
concat():用于合并两个或多个数组。此方法不会改变现有的数组,而仅仅会返回被合并数组的一个副本。
slice():返回一个新的数组对象,这一对象是一个由 begin 到 end(不包括 end)的浅拷贝的原数组的片段。
flat():按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
flatMap():首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。
这些只是JavaScript中数组操作方法的冰山一角,但涵盖了大多数常见的用例。