【JavaScript】数组的方法

本文介绍了JavaScript中用于遍历、修改、搜索数组的一系列方法,如forEach、map、filter、reduce,以及push、pop、unshift、shift等。此外,还提到了ES5和ES6/ES7新增的数组方法,如find、findIndex、includes、flat、flatMap等,帮助开发者更高效地操作和处理数组数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、遍历的方法

(遍历数组中的每个元素,对每个元素执行操作)

  1. forEach(): 对数组中的每个元素执行指定函数。 接受一个回调函数作为参数,该回调函数将会被传入三个参数当前遍历到的元素该元素在数组中的索引整个数组本身
  2. map(): 创建一个新数组,其中包含对原始数组中每个元素执行指定的结果。 第一个参数是一个回调函数,它会被传入三个参数当前元素的值当前元素的索引以及原始数组或对象。回调函数可以返回任何值,这些值将组成一个新的数组或对象第二个参数是可选的 this 值
  3. filter(): 创建一个新数组,包含满足指定条件的原始数组中的所有元素。 接受一个回调函数作为参数,该回调函数会遍历数组中的每个元素并返回一个布尔值。如果回调函数返回 true,那么该元素会被保留在新的数组中;否则,该元素会被过滤掉
  4. reduce(): 使用指定的函数将数组中的所有元素累计为单个值。 接收两个参数,第一个参数是一个回调函数,回调函数又接收四个参数
    accumulator:累加器,表示当前的计算结果。
    currentValue:当前元素的值。
    currentIndex:当前元素的下标。
    array:原数组。
    第二个参数是可选的初始值,用来指定第一个元素的初始值
const numbers = [1, 2, 3, 4, 5];
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue);
console.log(sum); // 输出 15

//加入初始值
const numbers = [1, 2, 3, 4, 5];
const initialValue = 10;
const sum = numbers.reduce((accumulator, currentValue) => accumulator + currentValue, initialValue);
console.log(sum); // 输出 25

二、修改的方法

  1. push()/pop(): 在数组的末尾添加/删除一个元素。
  2. unshift()/shift(): 在数组的开头添加/删除一个元素。
  3. splice(): 在指定位置插入删除一个或多个元素,插入一个元素。
  4. fill(): 使用指定的值 填充数组中的所有元素。 接受两个参数:第一个参数是要用来填充数组的值,第二个参数 (可选) 是用来指定要填充的起始位置结束位置
  5. reverse(): 反转数组中的元素顺序。
  6. sort(): 对数组进行升序排序或者根据指定函数进行排序。

三、搜索方法

(查找指定元素)

  1. indexOf()/lastIndexOf(): 返回指定元素第一次/最后一次出现的索引,如果不存在则返回-1。
  2. find()/findIndex(): 返回满足指定条件的第一个元素/元素的索引。

四、其他方法

  1. every(): 测试是否所有元素满足指定条件。
  2. some(): 测试是否至少有一个元素满足指定条件。
  3. concat(): 将两个或者多个数组合并为一个数组。()
  4. flat()/flayMap(): 将嵌套数组展平为一维数组。
  5. slice(): 返回指定位置的子数组

ES6/ES7新增方法:

find() / findIndex() - 返回满足指定条件的第一个元素/元素的索引。
includes() - 检查数组是否包含指定的元素。
flat() / flatMap() - 将嵌套数组展平为一维数组。
fromEntries() - 将键值对数组转换为对象。
Array.prototype@@iterator - 返回一个迭代器,使数组可以使用for…of循环遍历。

ES5新增方法:

isArray() - 检查给定值是否为数组类型。
forEach() - 对数组中的每个元素执行指定的函数。
map() - 创建一个新数组,其中包含对原始数组中每个元素执行指定函数的结果。
filter() - 创建一个新数组,其中包含满足指定条件的原始数组中的所有元素。⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⡀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣠⣿⡟⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⢠⣾⣶⡄⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣴⣿⠟⠁⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠘⠿⢿⣟⡀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣰⣿⡿⠃⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣷⣤⡀⠀⠀⠀⠀⠀⢠⣴⣶⣄⠀⠀⠀⠀⢀⢀⣼⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢻⣿⣿⣶⣦⡀⠀⢀⣿⣿⣿⣿⡀⠀⠀⣰⣵⣿⠟⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⣿⣿⣿⣿⣾⣿⣾⣿⣿⣿⣿⣿⣦⣾⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠟⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠙⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⠃⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠠⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣟⣿⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠞⠛⣿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢿⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⣺⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢹⣿⣿⣿⣿⣿⣿⣿⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⣿⣿⣿⣿⣿⣿⣿⣷⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠹⣿⣿⣿⣿⣿⠏⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢸⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢠⣿⣿⣿⣿⣿⣿⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀
⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠘⠿⠋⠁⠀⠉⠙⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值