数组类及其原型API清单(读书笔记,不完整,没例子,仅便于回忆)

152 阅读4分钟

Array.prototype.concat()

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])

参数:

valueN: 可选

数组和/或值,将被合并到一个新的数组中。如果省略了所有 valueN 参数,则 concat 会返回调用此方法的现存数组的一个浅拷贝

return 新的数组实例

Array.prototype.copyWithin()

copyWithin()  方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。

arr.copyWithin(target[, start[, end]])

  • target

  • 0 为基底的索引,复制序列到该位置。如果是负数,target 将从末尾开始计算。

  • 如果 target 大于等于 arr.length,将会不发生拷贝。如果 target 在 start 之后,复制的序列将被修改以符合 arr.length

  • start

  • 0 为基底的索引,开始复制元素的起始位置。如果是负数,start 将从末尾开始计算。

  • 如果 start 被忽略,copyWithin 将会从0开始复制。

  • end

  • 0 为基底的索引,开始复制元素的结束位置。copyWithin 将会拷贝到该位置,但不包括 end 这个位置的元素。如果是负数, end 将从末尾开始计算。

  • 如果 end 被忽略,copyWithin 方法将会一直复制至数组结尾(默认为 arr.length)。

return 原数组,但是原数组已经改变了

Array.prototype.entries()

entries()  方法返回一个新的Array Iterator对象,该对象包含数组中每个索引的键/值对。

return 一个新的Array迭代器对象,迭代器对象是一个对象,它的原型上有个next方法,可用于遍历迭代器取得原数组的[key, value]

Array.prototype.every()

arr.every(callback(element[, index[, array]])[, thisArg])

callback是用来测试每个元素的函数,接收三个参数,其中后面两个参数是可选的 element是数组当前的索引值,index是数组当前的索引,array是当前数组 thisArg用来确定callback中的this值

当回调函数每次的返回值都是true时every的返回值才会是true

函数返回值:布尔值,用来确定数组中的每一项是否符合回调函数的条件

Array.prototype.fill()

arr.fill(value[, start[, end]])

value是用来填充数组元素的值

start是起始索引,默认值是0

end是终止索引,默认值是this

return 修改后的数组

Array.prototype.filter()

var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])

参数意义和之前的方法类似

return 一个新的、由通过测试的元素组成的数组,如果没有任何数组元素通过测试,则返回空数组

Array.prototype.find()

find()  方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

arr.find(callback(element[, index[, array]])[, thisArg])

参数和之前的方法类似,callback里面一般写条件,符合条件的第一个元素就是返回的元素

return 数组中第一个满足所提供测试函数的元素的值,否则返回undefined。

Array.prototype.findIndex()

findIndex() 方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。

和find方法类似,只是返回值是索引值

Array.prototype.flat()

flat()  方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。

var newArray = arr.flat([depth])

depth值可选,默认值是1

return一个新数组

Array.prototype.flatMap()

flatMap可以理解为先map然后自动flat,且只是一层

接收的参数规则和map一样

return 一个新的数组,其中每个元素都是回调函数的结果,并且结构深度 depth 值为1。

Array.prototype.forEach()

forEach()  方法对数组的每个元素执行一次给定的函数。

return undefined;

Array.prototype.includes()

includes()  方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回false。

arr.includes(valueToFind[, fromIndex])

valueToFind是需要查找的元素值。

fromIndex可选

fromIndex 索引处开始查找 valueToFind。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜 (即使从末尾开始往前跳 fromIndex 的绝对值个索引,然后往后搜寻)。默认为 0。

return 布尔值

Array.prototype.indexOf()

indexOf() 方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。

arr.indexOf(searchElement[, fromIndex])

searchElement: 要查找的元素

fromIndex(可选),默认值是0,如果传负数,则将其作为数组末尾的一个抵消,即-1表示从最后一个元素开始查找,如果抵消后的索引值仍小于0,则整个数组都将会被查询。

return 首个被找到的元素在数组中的索引位置; 若没有找到则返回 -1

Array.prototype.join()

join()  方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串。如果数组只有一个项目,那么将返回该项目而不使用分隔符。

arr.join([separator])

separator 可选:默认会按","来连接数组中的元素,如果separator是空字符串(""),则所有元素之间都没有任何字符。

return 一个所有数组元素连接的字符串。如果 arr.length为0,则返回空字符串。