跳到主要内容

重写 JS 数组方法

· 阅读需 4 分钟
素明诚
Full stack development

这篇文章汇总了当前已实现的数组方法。未实现的方法将在后续更新中补充到本文中。如果你希望检验自己的基础知识,也可以根据本文提供的表格逐一尝试实现这些数组方法。已实现的会插入超链接~

数组方法实现难度

方法名描述难度评级
push()向数组的末尾添加一个或更多元素,并返回新的长度。
pop()移除数组最后一个元素,并返回该元素。
shift()从数组中删除第一个元素,并返回该元素。
unshift()向数组的开头添加一个或多个元素,并返回新的长度。
indexOf()返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
lastIndexOf()返回数组中最后出现的指定元素的索引,如果未找到则返回 -1。
join()将所有数组元素连接成一个字符串并返回。
reverse()颠倒数组中元素的顺序。
includes()判断数组是否包含一个指定的值。
slice()返回数组的一个片段或子数组。
concat()合并两个或多个数组,并返回一个新数组。
splice()在数组中添加或删除元素,并返回被删除的元素。
toString()返回一个字符串表示数组中的元素。
toLocaleString()返回一个字符串表示数组中的元素。本地化的字符串表示形式。
fill()用一个固定值填充数组中从起始索引到终止索引的全部元素。
map()创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后的返回值。
filter()创建一个新数组, 其包含通过所提供函数测试的所有元素。
every()检测数组所有元素是否都符合指定条件。
some()检测数组中的某些元素是否满足指定条件。
find()返回数组中满足提供的测试函数的第一个元素的值。
findIndex()返回数组中满足提供的测试函数的第一个元素的索引。
findLast()返回数组中最后一个满足所提供测试函数的元素。
findLastIndex()返回数组中最后一个满足所提供测试函数的元素的索引。
reduce()对数组中的每个元素执行一个用户提供的 reducer 函数(升序执行),从左到右。
reduceRight()对数组中的每个元素执行一个用户提供的 reducer 函数(降序执行),从右到左。
flatMap()先对数组的每个元素执行一个映射函数,然后将结果压平成一个新数组。
flat()将所有嵌套数组的元素连接成一个新数组。
copyWithin()在数组内部,将一系列元素按序复制到另一个起始位置,并返回数组。
sort()对数组的元素进行排序。
entries()返回一个新的 Array Iterator 对象,包含数组中每个索引的键/值对。
keys()返回一个新的 Array Iterator,包含数组中每个索引的键。
values()返回一个新的 Array Iterator 对象,包含数组每个索引的值。
forEach()对数组的每个元素执行一次给定的函数。

如果你喜欢这篇文章请点个赞再走吧~