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中数组操作方法的冰山一角,但涵盖了大多数常见的用例。