重写 JS 数组方法
· 阅读需 4 分钟
这篇文章汇总了当前已实现的数组方法。未实现的方法将在后续更新中补充到本文中。如果你希望检验自己的基础知识,也可以根据本文提供的表格逐一尝试实现这些数组方法。已实现的会插入超链接~
数组方法实现难度
方法名 | 描述 | 难度评级 |
---|---|---|
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() | 对数组的每个元素执行一次给定的函数。 | 高 |
如果你喜欢这篇文章请点个赞再走吧~