跳到主要内容

重写 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()对数组的每个元素执行一次给定的函数。高

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