迭代方法:这些方法遍历数组的每个元素,可以对元素进行操作或返回新数组
forEach()循环遍历数组
every()遍历数组,返回值遇到false时遍历终止 相比于forEach()多了一个return false
some() 找到数组的第一个元素返回值为找到为true或找不到为false
map()修改并返回新的数组
filter()数组过滤器
reduce() 数组求和运算
reduceRight()
转换方法:将数组转换为新的形式或结构,并返回新数组
concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
slice() 方法返回一个新的数组对象,这一对象是一个由 start
和 end
决定的原数组的浅拷贝(包括 start
,不包括 end
),其中 start
和 end
代表了数组元素的索引。原始数组不会被改变。
splice() 方法就地移除或者替换已存在的元素和/或添加新的元素。
flat() 方法创建一个新的数组,并根据指定深度递归地将所有子数组元素拼接到新的数组中。
flatMap() 把数组里面的二维数组拉平成为一个一维数组
搜索和位置方法:用于查找数组中的元素,并可能返回元素的索引或布尔值
indexOf() 方法返回数组中第一次出现给定元素的下标,如果不存在则返回 -1。
lastIndexof()方法返回数组中给定元素最后一次出现的索引,如果不存在则返回 -1。该方法从 fromIndex
开始向前搜索数组。
find() 找到数组的第一个元素
findIndex() 找到数组的第一个元素的下标
includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true
,否则返回 false
。
at() 方法接收一个整数值并返回该索引对应的元素,允许正数和负数。负整数从数组中的最后一个元素开始倒数。
排序方法:改变数组元素的顺序
sort() 方法就地对数组的元素进行排序,并返回对相同数组的引用。默认排序是将元素转换为字符串,然后按照它们的 UTF-16 码元值升序排序。
reverse() 方法就地反转数组中的元素,并返回同一数组的引用。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。换句话说,数组中的元素顺序将被翻转,变为与之前相反的方向。
添加和删除方法:修改数组内容,包括添加和删除元素
push() 方法将指定的元素添加到数组的末尾,并返回新的数组长度。
pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法会更改数组的长度
shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
unshift() 方法将指定元素添加到数组的开头,并返回数组的新长度。
splice() 方法就地移除或者替换已存在的元素和/或添加新的元素。
fill() 方法用一个固定值填充一个数组中从起始索引(默认为 0
)到终止索引(默认为 array.length
)内的全部元素。它返回修改后的数组。
迭代器方法:用于创建数组的迭代器,可以用于遍历数组
keys() 方法返回一个新的数组迭代器对象,其中包含数组中每个索引的键。
values() 方法返回一个新的数组迭代器对象,该对象迭代数组中每个元素的值。
entries() 方法返回一个新的数组迭代器对象,该对象包含数组中每个索引的键/值对
特殊方法:执行特定的操作,如合并数组或检查数组是否包含特定元素
join() 方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串,用逗号或指定的分隔符字符串分隔。如果数组只有一个元素,那么将返回该元素而不使用分隔符。
toString()方法返回一个字符串,表示指定的数组及其元素。
toLocaleString() 方法返回一个字符串,表示数组中的所有元素。每个元素通过调用它们自己的 toLocaleString
方法转换为字符串,并且使用特定于语言环境的字符串(例如逗号“,”)分隔开。
ES6+新增方法:
copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度
fill() 方法用一个固定值填充一个数组中从起始索引(默认为 0
)到终止索引(默认为 array.length
)内的全部元素。它返回修改后的数组。
entries()(在ES7中明确为数组方法)
keys() (在ES7中明确为数组方法)
values() (在ES7中明确为数组方法)
flat() (在ES2019中引入)
flatMap() (在ES2019中引入)