千家信息网

JavaScript数组有哪些常用方法

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,这篇文章主要介绍了JavaScript数组有哪些常用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、前言数组方法有太多了,本文记
千家信息网最后更新 2026年11月01日JavaScript数组有哪些常用方法

这篇文章主要介绍了JavaScript数组有哪些常用方法,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

1、前言

数组方法有太多了,本文记录一些本人容易记错的一些数组方法,用于巩固及复习。
后续会慢慢的将其他数组方法添加进来。
善用数组方法可以使数据处理变的优雅且简单。

那下面让我们开始吧:

2、filter()

描述:

filter() 方法创建一个新数组,并将符合条件的所有元素添加到创建的新数组中。

语法:

Array.filter(callback(element, index, array) { // 函数体 }, thisValue)

参数:

callback与thisValue:


参数是否可选描述
参数一callback必选用来测试数组的每个元素的函数。返回 true 表示该元素通过测试,保留该元素,false 则不保留。它接收三个参数。
参数二thisValue可选执行 callback 时,用于 this 的值。
对象作为该执行回调时使用,传递给函数。
如果省略了 thisValue ,"this" 的值为 "undefined"

callback的参数列表:


参数是否可选描述
参数一element必选当前元素
参数二index可选当前元素的索引值
参数三array可选调用了 filter 的数组本身

thisValue的参数:

执行 callback 时,用于 this 的值。

返回值:

是一个由 filter() 参数一函数的返回值组成的新数组

示例:

let users = [  {id: 11, name: "孙悟空"},  {id: 21, name: "猪八戒"},  {id: 31, name: "沙和尚"}];// 返回前两个用户的数组let filterUsers = users.filter(item => item.id < 31);console.log(filterUsers.length); // 2

3、map()

描述:

map() 方法创建一个新数组,新数组的每个元素是调用一次给定函数的返回值。

语法:

Array.map(callback(currentValue, index, array) { // 函数体 }, thisValue)

参数:

callback与thisValue


参数是否可选描述
参数一callback必选数组中的每个元素都要运行的回调函数。它接收三个参数。
参数二thisValue可选执行 callback 时,用于 this 的值。
对象作为该执行回调时使用,传递给函数。
如果省略了 thisValue ,"this" 的值为 "undefined"

callback的参数列表:


参数是否可选描述
参数一element必选当前元素
参数二index可选当前元素的索引值
参数三array可选调用了 filter 的数组本身

thisValue的参数:

执行 callback 时,用于 this 的值。

返回值:

是一个由原数组每个元素执行回调函数的结果组成的新数组。

示例:

let number = [1, 2, 3].map(item => item + 1);console.log(lengths); // 2, 3, 4

4、sort()

描述:

map() 方法在原数组上进行修改更改元素的顺序

注:默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时

语法:

Array.sort( compareFunction )

参数:

compareFunction


参数是否可选描述
参数一compareFunction可选规定排列顺序的函数。如果省略,元素按照转换为的字符串的各个字符的Unicode位点进行排序。

compareFunction的参数列表:


参数是否可选描述
参数一firstEl必选第一个用于比较的元素。
参数二secondEl必选第二个用于比较的元素。

compareFunction返回值

返回一个说明这两个值顺序的数字

  • 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。

  • 若 a 等于 b,则返回 0。

  • 若 a 大于 b,则返回一个大于 0 的值。

返回值:

返回值为排序后的数组,但是返回值通常会被忽略,因为修改了原数组。

示例:

let number = [1, 2, 3].map(item => item + 1);console.log(lengths); // 2, 3, 4

5、reduce()

描述:
reduce() 方法为数组中的每一个元素依次执行(升序执行)回调函数,不包括数组中被删除或从未被赋值的元素。将其结果计算为一个值。

注:reduce() 可以作为一个高阶函数,用于函数的 compose。

语法:

Array.reduce(callback(accumulator, currentValue, index, array), initialValue)

参数:

callback与initialValue


参数是否可选描述
参数一callback必选执行数组中每个数组元素的函数 (如果没有initialValue初始值那么第一个值不会执行改函数)它接收四个参数。
参数二initialValue可选callback函数的初始值

callback的参数列表:


参数是否可选描述
参数一accumulator必选累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,或initialValue。
参数二currentValue必选当前元素
参数三index可选当前元素的索引值
参数四array可选调用了 reduce() 的数组本身

initialValue的参数:

作为第一次调用 callback函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素作为初始值。 在没有初始值的空数组上调用 reduce 将报错。

返回值:

函数累计处理后的结果
执行完所有callback函数的accumulator参数

注: 我们的 reducer 函数的返回值分配给累计器,该返回值在数组的每个迭代中被记住,并最后成为最终的单个结果值。

示例:

let number = [1, 2, 3, 4];let result = number.reduce((sum, current) => sum + current, 0);console.log(result); // 10

6、forEach()

描述:

reduce() 方法为数组中的每一个元素依次执行(升序执行)回调函数,不包括数组中被删除或从未被赋值的元素。将其结果计算为一个值。

注:reduce() 可以作为一个高阶函数,用于函数的 compose。

语法:

Array.forEach(callback(currentValue , index , array), thisValue)

参数:

callback与thisValue


参数是否可选描述
参数一callback必选执行数组中每个数组元素的函数,它接收三个参数。
参数二thisValue可选执行 callback 时,用于 this 的值。
对象作为该执行回调时使用,传递给函数。
如果省略了 thisValue ,"this" 的值为 "undefined"

callback的参数列表:


参数是否可选描述
参数一currentValue必选当前元素
参数二index可选当前元素的索引值
参数三array可选调用了 forEach() 的数组本身

thisValue的参数:

执行 callback 时,用于 this 的值。

返回值:

该方法没有返回值。

示例:

let number = [1, 2, 3, 4];number.forEach((item, index ,array) =>{ console.log(item); // 1/2/3/4});

7、方法列表

方法属性:

方法改变原数组返回值描述描述
filter()否过滤后的新数组过滤器
map()否循环后的新数组循环
sort()是为排序后的数组排序
reduce()否为函数累计处理后的结果累加器
forEach()是没有返回值为undefined循环


感谢你能够认真阅读完这篇文章,希望小编分享的"JavaScript数组有哪些常用方法"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!

参数 数组 元素 函数 方法 结果 排序 示例 语法 篇文章 索引 顺序 三个 字符 对象 处理 循环 常用 两个 从未 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 广州为想互联网科技有限公司 哈尔滨大商圈互联网科技有限公司 A股互联网金融科技公司 互联网科技公司税收优惠 深圳互联网络科技有限公司 上海万想互联网科技 互联网公司会议桌创意科技软装饰 银川新华互联网科技学校地址 温州喔噻互联网科技有限公司 湖南诚度互联网科技有限公司 湖南一路畅行互联网科技 互联网科技商业 明优互联网科技有限公司 山东星卡互联网科技有限公司官网 卡尔迅互联网科技有限公司 济南小医互联网科技有限公司招聘 江苏互联网智能科技产品出厂价 银川新华互联网科技学校原画 互联网的黑科技实验室 银川新华互联网科技学校招聘 云之行互联网科技 深圳艾佳互联网科技 互联网科技创新企业排名 济南和联互联网科技有限公司 新华互联网科技2019 须眉科技是互联网公司吗 互联网科技扶贫时间 用友工业互联网科技发展 21世纪互联网科技成就 上海互联网科技公司ppt
0