JavaScript 中的数组方法可以按照它们的主要功能进行分类。以下是一些常见的分类和每个类别中方法的简单解释:
1. 元素添加
push(...items)
:向数组末尾添加一个或多个元素,并返回新的长度。unshift(...items)
:在数组的开头添加一个或多个元素,并返回新的长度。splice(index, add)
:在指定位置添加/删除元素,可以同时添加多个元素。
2. 元素移除
pop()
:移除数组的最后一个元素,并返回该元素。shift()
:移除数组的第一个元素,并返回该元素。splice(index, remove)
:从指定位置开始删除指定数量的元素,可以结合添加元素。
3. 元素查找
indexOf(searchElement, fromIndex)
:返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。lastIndexOf(searchElement, fromIndex)
:返回在数组中可以找到一个给定元素的最后一个索引,如果不存在,则返回-1。find(predicate, thisArg)
:返回数组中满足提供的测试函数的第一个元素的值。findIndex(predicate, thisArg)
:返回数组中满足提供的测试函数的第一个元素的索引。
4. 元素位置
includes(searchElement, fromIndex)
:确定一个数组是否包含一个特定的值,根据情况返回true
或false
。
5. 元素转换
join(separator)
:将所有数组元素连接成一个字符串。toString()
:将数组转换为由逗号分隔的字符串,与join(",")
相同。toLocaleString()
:将数组元素转换为由本地特定的分隔符分隔的字符串。
6. 元素遍历
forEach(callback, thisArg)
:为数组中的每个元素执行一次提供的函数。every(callback, thisArg)
:测试数组的所有元素是否都通过了测试函数,返回true
或false
。some(callback, thisArg)
:测试数组中的某些元素是否至少通过了测试函数一次,返回true
或false
。
7. 元素筛选
filter(callback, thisArg)
:创建一个新数组,其包含通过所提供函数实现的测试的所有元素。map(callback, thisArg)
:创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
8. 元素归约
reduce(callback, initialValue)
:对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。reduceRight(callback, initialValue)
:同reduce
,但是以相反的顺序执行。
9. 元素排序
sort(compareFunction)
:对数组的元素进行排序,并返回该数组。reverse()
:将数组颠倒排序。
10. 其他
slice(start, end)
:返回一个新数组对象,该对象是一个由begin到end(不包括end)的原数组的浅拷贝。concat(...items)
:用于合并两个或多个数组,此方法不会改变现有数组,而是返回一个新数组。
这些方法覆盖了数组操作的大部分常见场景,从添加和删除元素到搜索、转换和排序等。每个方法都有其特定的用途,可以根据需要在代码中灵活使用。