常见的数组方法,返回值和参数大家还记得清吗?(常用方法上)

181 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第11天,点击查看活动详情

数组的方法使用在项目中随处可在,有些不常用的数组自己的忘了,总结一下数组的方法

首先来看一张图吧

image.png

这个在网上看到的对数组某个方法的分类

思考,数组的这些个方法是干嘛的,返回值又是什么

数组的方法介绍

reduce累加

应用场景: 求和,最大值
参数: sum:上一个回调的返回值
value:当前元素,默认从1开始
index:元素的下标
Source Array (src) (源数组)
返回值: 最后一次return的结果

reduceRight

参数: callback:一个回调函数,用于操作数组中的每个元素,它可接受四个参数:
accumulator 累加器:上一次调用回调函数时,回调函数返回的值。首次调用回调函数时,如果 initialValue 存在,累加器即为 initialValue,否则须为数组中的最后一个元素
currentValue 当前元素:当前被处理的元素。
index可选 数组中当前被处理的元素的索引。
array可选 调用 reduceRight() 的数组。

MDN上的代码解释
const result = array1.reduceRight((accumulator, currentValue) => accumulator.concat(currentValue));

console.log(result);

放在这里用于自己回忆,说实话,目前还没有碰见过这个,一般我们会直接使用reduce

every、some 检测数组

参数 element 当前元素。
index可选: 当前元素的下标。
array可选: 调用 every 的当前数组
返回值
布尔类型true或false 应用场景
一般用于判断,找元素是否符合条件,开关思想

filter 筛选、过滤

参数 element 当前元素。
index可选: 当前元素的下标。
array可选: 调用 every 的当前数组
返回值
符合条件的新数组 应用场景
一般筛选,过滤,成为新的数组

forEach 循环

参数 currentValue 当前元素。
index可选: 当前元素的下标。
array可选: 调用 every 的当前数组
返回值
应用场景
循环

map 映射

参数 currentValue 当前元素。
index可选: 当前元素的下标。
array可选: 调用 every 的当前数组
返回值
映射一个数组。如果没有return,新数组都是undefined

indexof 找数组的下标

参数 searchElement:要查找的元素 返回值
第一个元素的索引或下标,不存在,则返回-1。

MDN上的示例
const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
console.log(beasts.indexOf('bison'));
// expected output: 1

concat 连接数组

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

返回值
合并后的新数组

console.log([1, 2, 3].concat([4,5,6]))
结果为123456

splice 删除任意数量的项

参数
star:必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount:必选项。要移除的元素的个数。
item1:要在所移除元素的位置上插入的新元素。
返回值
返回值是一个由所移除的元素组成的新Array对象。

slice 从已有的数组中返回选定的元素(数组单元的截取)

参数
start:可选。规定从何处开始选取。如果该参数为负数,则表示从原数组中的倒数第几个元素开始提取
end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果该参数为负数, 则它表示在原数组中的倒数第几个元素结束抽取。 返回值
返回一个新的数组,包含从 start到 end (不包括该元素)