数组方法小计
改变原数组:
copyWithin() 方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。
fill() 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。
pop()方法从数组中删除最后一个元素,并返回该元素的值。此方法更改数组的长度
push() 方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。
shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
unshift() 方法将一个或多个元素添加到数组的开头,并返回该数组的新长度(该方法修改原有数组)。
reverse() 方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。该方法会改变原数组。
sort() 方法对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的
splice() 方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。此方法会改变原数组。
不改变原数组:
forEach() 方法对数组的每个元素执行一次给定的函数。
filter() 方法创建一个新数组, 其包含通过所提供函数实现的测试的所有元素
map() 方法创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值。
reduce() 方法对数组中的每个元素执行一个由您提供的reducer函数(升序执行),将其结果汇总为单个返回值。
reduceRight() 方法接受一个函数作为累加器(accumulator)和数组的每个值(从右到左)将其减少为单个值。
at() 方法接收一个整数值并返回该索引的项目,允许正数和负数。负整数从数组中的最后一个项目开始倒数。
concat() 方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
every() 方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值
some() 方法测试数组中是不是至少有1个元素通过了被提供的函数测试。它返回的是一个Boolean类型的值。
find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined
findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。
indexOf()方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
lastIndexOf() 方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从 fromIndex 处开始。
join()方法将一个数组(或一个类数组对象的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。
flat() 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组。它与 map 连着深度值为1的 flat几乎相同,但 flatMap 通常在合并成一种方法的效率稍微高一些。
Array.from() 方法对一个类似数组或可迭代对象创建一个新的,浅拷贝的数组实例。
includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false。
Array.isArray()检测传递的值是否是一个数组
slice() 方法返回一个新的数组对象,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变。
toString() 返回一个字符串,表示指定的数组及其元素。
entries() 方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对
keys() 方法返回一个包含数组中每个索引键的Array Iterator对象。
values() 方法返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值