前端必学:JavaScript 数组方法三类记忆法

总结前端常用数据结构 之 数组篇【JavaScript -包含常用数组方法】 关于数组以及一些常用的数组方法!!splice,unshift,push,shift,pop,every,some,filter,map,forEach,reduce,indexOf,includes,latIndexOf,find,findLast,findIndex,findLastIndex方法 阅读详情

在 JavaScript 开发中,数组是我们最常用的数据结构之一。JavaScript 提供了许多强大的方法来简化数组操作,使得数组处理变得更高效、简洁。本文将这些数组方法按功能分为三大类,并为每一类提供清晰的记忆技巧和实际应用场景,帮助大家更好地掌握它们。

一、遍历执行类:forEach()(无返回值)

核心:

forEach() 方法是遍历数组中每一项并对其执行指定操作的一种方式。与传统的 for 循环不同,forEach() 并不会返回任何值,它的作用仅仅是执行回调函数。

使用场景:

适用于需要遍历数组并对每个元素执行操作的场景,比如打印日志、修改外部状态、进行异步请求等。

示例代码:
const arr = [1, 2, 3];
arr.forEach((item, index) => {
  console.log(`索引${index}:${item}`);
});
// 输出:
// 索引0:1
// 索引1:2
// 索引2:3
注意:
  • forEach() 是同步的,无法使用 break 或 return 来提前退出遍历。

  • 如果需要返回值或提前停止遍历,考虑使用 map() 或 filter()。


二、处理转换类:filter()、map()(返回新数组)

这类方法基于原数组执行操作,并返回一个新数组,不会修改原始数组。

1. filter():筛选符合条件的元素
核心:

filter() 方法根据回调函数的条件筛选出符合要求的元素,返回一个新数组,原数组不受影响。

示例代码:
const arr = [1, 2, 3];
const newArr = arr.filter(item => item !== 2);
console.log(newArr); // [1, 3]
使用场景:
  • 当需要从数组中剔除某些不符合条件的元素时使用,比如删除无用数据。


2. map():映射转换每一项
核心:

map() 方法会遍历原数组,对每个元素进行映射转换,返回一个新数组,长度与原数组相同。

示例代码:
const arr = [1, 2, 3];
const newArr1 = arr.map(item => `${item}映射后`);
console.log(newArr1); // ["1映射后", "2映射后", "3映射后"]
使用场景:
  • 用于数组元素的转换,例如数据格式化、属性提取等。


三、条件判断类:some()、every()、find()(返回特定值)

这些方法根据特定条件判断数组中的元素,返回布尔值或特定的元素。

1. some():判断是否至少有一个符合条件的元素
核心:

some() 方法判断数组中是否至少有一个元素满足条件,找到即停止。

示例代码:
const arr = [1, 2, 3];
console.log(arr.some(item => item === 2)); // true(找到即停)
使用场景:
  • 当我们需要判断数组中是否存在某个条件满足的元素时,some() 方法非常高效。


2. every():判断是否所有元素都符合条件
核心:

every() 方法判断数组中是否所有元素都满足条件,只要有一个元素不符合条件,遍历会立即停止。

示例代码:
const arr = [1, 2, 3];
console.log(arr.every(item => item === 2)); // false(有一个不符合即停)
使用场景:
  • 当需要判断数组中是否所有元素符合某个条件时使用,比如验证数据合法性。


3. find():返回第一个符合条件的元素
核心:

find() 方法返回数组中第一个符合条件的元素。如果没有符合条件的元素,返回 undefined。

示例代码:
const data = [{ id: 1, name: 'haha' }, { id: 2, name: 'hehe' }];
console.log(data.find(v => v.id === 1)); // { id: 1, name: 'haha' }
使用场景:
  • find() 常用于从数组中查找符合特定条件的元素,并获取该元素。


结论与扩展

通过掌握 JavaScript 数组的常用方法,我们可以在开发中更高效地进行数组操作。正确选择合适的方法不仅能够提高代码的效率,还能提升代码的可读性和可维护性。

如果你想深入了解更多关于数组的操作技巧,推荐学习 reduce()、sort() 等其他高级数组方法,它们可以帮助你处理更复杂的数组问题。


通过这些优化,文章的条理性、可读性和专业性都得到了提高,符合 优快云 等技术博客平台的高质量标准。

JavaScript数组常用的方法总结 导读:在实际开发中,前端工程师除了写页面布局及样式还要对后端返回的数据进行处理,返回的数据大多数是json格式,一般都是返回一个对象或者数组,下面对常用的数组的使用方法进行总结,方便在开发中手到擒来! 目录 数组常用方法 ​concat() 方法 join() 方法 pop() 方法 push() 方法 reverse() 方法 shift() 方法 slice() 方法 sort() 方法 splice() 方法 toSource() 方法 toString... 阅读详情

相关推荐

前端开发:JS中数组常用方法汇总

在前端开发中关于数组的使用想必前端开发者并不陌生,尤其是在处理业务逻辑的时候,从后端获取的数据类型中数组类型基本占到70%的比例,所以与其说是处理数据,不如说是处理数组,虽然说的有点夸张,前端实际开发中关于数组相关的使用在前端开发中是非常高频的,而且在前端求职面试时候关于数组相关的函数方法也是必考知识点,非常重要。那么本篇博文就来分享一下关于JS中数组常用的方法都有哪些?汇总起来,方便后期查阅使用。

全沾软贱开发攻城狮 1万+

前端js数组方法

该方法会直接修改原数组,并返回修改后的数组。是数组对象的一个方法,它用于创建一个新数组,新数组中的元素是原数组中每个元素经过指定函数处理后的结果。是数组对象的一个方法,其主要作用是在数组的末尾添加一个或多个元素,并返回新数组的长度。是数组对象的一个方法,其作用是在数组的开头添加一个或多个元素,并返回新数组的长度。是数组对象的一个方法,其主要作用是创建一个新数组,新数组中的元素是原数组中满足指定条件的所有元素。是数组对象的一个方法,用于从原数组中提取出一部分元素,组成一个新的数组,而不会对原数组进行修改。

2301_76509206的博客 2265

前端开发:JavaScript合并数组的方法

前言 在前端开发的时候,对于数据处理是很重要的一块,尤其是要根据实际的业务需求来处理数据,有很强的兼容性要求。而且有些时候后端提供的数据和实际的业务需求数据是有偏差的,所以前端在拿到后台返回的数据之后,需要对数据进行“二次加工”处理,从而来满足业务需求。那么本篇文章就来分享一下在处理数据时候比较重要的一种方式:JavaScript中对数组进行合并,这是一个比较常见的操作,分享出来,提供查阅使用。 数组合并 在JavaScript中合并两个数组的方法有4种,每一种方法都大同小异,为的就是对两个数

全沾软贱开发攻城狮 1万+

js数组常用方法

js数组常用方法还挺多的,如果面试官问你这道题可不要只回答几个哟,那是会扣分的!下面是一篇详细的js数组教程文章

夏天的博客 9万+

免费AI视频生成全流程:通义千问+Seedance 2.5+Grok实战指南

AI视频生成正在成为内容创作的重要方式,但高昂的API费用常让个人创作者望而却步。实际上,通过合理组合云端免费工具,也能搭建一条完整的视频生产链路:利用大模型生成脚本,用视频生成模型将文本渲染成画面,再借助多模态模型进行一致性校验。这种“文本+视频+多模态”的协作模式,将复杂的生成任务解耦为可独立调用的模块,既降低了本地硬件要求,也为批量内容验证提供了低成本方案。该流程适用于短视频素材快速产出、产品Demo验证以及AI应用集成等场景,核心在于打通免费账号、API调用与批量任务调度。本文以通义千问、Seeda

weixin_29044157的博客 377

从零开始深入理解 AI Agent(完整版)

AI Agent(智能体)是一个能够自主感知环境、做出决策、执行行动并记忆经验的智能系统。特性传统程序AI Agent决策方式固定逻辑(if-else)动态推理(LLM 思考)灵活性需要重新编程自然语言描述即可能力边界明确限定可通过工具扩展学习能力无可通过记忆积累经验│ 感知 │ ───→ │ 推理 │ ───→ │ 行动 │↑ │ ││ ↓ ││ 记忆 │ ←─── │ 反思 │ ←─────────┘感知(Perception)

qq_20096229的博客 754

【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用

JavaScript数组的使用。

Python全栈系列 7267

从SolidWorks到Simulink:手把手教你用URDF文件搭建六轴机械臂仿真模型(含STL文件配置避坑)

本文详细介绍了从SolidWorks到Simulink的六轴机械臂URDF仿真全流程,包括URDF文件导出、Simscape模型生成与调试、动力学参数获取与验证等关键步骤。重点解决了STL文件配置、关节接口设置等工程化难题,帮助开发者高效构建可控制的数字孪生体。通过实战案例和优化技巧,提升机械臂仿真效率与准确性。

weixin_26812607的博客 264

【JavaScript】——JS数组的方法(全且详细)

js数组中的方法

qq_50497708的博客 5209

innovus:如何在init design之后新增参考库(lib/lef)

如题,在PR过程中经常会遇到这种问题,时序无法收敛,需要新增一套lvt或者hpc的库,怎么办?

m0_61544122的博客 5004

前端JS数组常用方法

数组方法 split 字符串分割成数组 join 数组连接成字符串 slice 截取 splice 删除或增加元素 indexOf查找元素在数组中出现的位置。

& 圆 。的博客 3907

65页PPT全面学习大型汽车集团企业IT信息化(管理架构、应用架构、技术架构)

订单到交付(OTD):借助ERP、MES、LES、SRM、QMS、APS等系统,实现财务与业务一体化、高级排产、生产过程自动化及供应链协同。- 数据标准化:数据标准化是企业信息化建设基石,包括制定统一业务解释和标准、维护管理流程、发布应用等,涉及数据统一定义、分类、编码等内容。- 大数据应用:汽车行业大数据应用涵盖生产、销售、售后等环节,如设备预见性保养、销量预测、质量预警等,提升企业运营效率和决策能力。- 策略明晰:明确C2M管理矩阵,包括供应商、采购、物流、制造、销售、财务等环节的策略。

cdfunlove的博客 1049

JS数组实用方法

对于大部分前端开发者来说,JS是最常用的编程语言之一,而在实际开发中,频繁接触的JS代码之一就是数组操作,JS数组实用方法的重要性不言而喻了吧。废话少说,请看文章。(标※的是常用的)

2301_76551342的博客 1532

第229篇 轨迹时间参数化——TOPP-RA和速度约束处理

本文介绍了时间最优路径参数化(TOPP)问题及其解法。TOPP研究如何在给定空间路径上分配时间,使机器人运动时间最短且不超速,需满足速度、加速度和力矩约束。经典解法采用相平面法,通过前向和后向扫描确定最优速度曲线。TOPP-RA改进了数值稳定性,支持多约束处理。文章对比了TOPP与轨迹优化的区别,列举了开源工具,并解答了面试常见问题,指出TOPP广泛应用于机械臂、AGV等领域。TOPP不改变路径形状,仅优化速度分配,其最优解具有bang-bang特性。

郑伟强dev的专栏 320

小梅哥Xilinx ZYNQ学习笔记2——38译码器

译码器(Decoder)是一种多输入多输出的组合逻辑电路,负责将二进制代码翻译为特定的对象(如逻辑电平等),功能与编码器相反。译码器一般分为通用译码器和数字显示译码器两大类。本设计的是通用译码器。三八译码器,即是 3 种输入状态翻译成 8 种输出状态。1.case开始开始,endcase结束;2.数字声明时,合法的基数格式有 4 中,包括:十进制('d 或 'D),十六进制('h 或 'H),二进制('b 或 'B),八进制('o 或 'O)。数值可指明位宽,也可不指明位宽。

m0_51430584的博客 1635

JavaScript篇:【前端必备】数组方法大全:从‘会写’到‘玩出花’,你掌握几个?

大家好,我是小杨,做了6年前端,今天想和大家聊聊JavaScript数组的那些方法。刚入行时,我只会用push和pop,后来被同事的代码秀了一脸——原来数组还能这么玩!今天就把这些年的经验总结成“四阶用法”,从基础到骚操作,包你看完直呼:“原来还能这样?!”

欢迎来到我的前端博客!这里汇集了关于前端开发的最新技术、实用工具和经验分享。我将为你提供详细的教程、代码示例和实战案例,帮助你掌握Web开发的核心概念和技能。不论你是初学者还是有经验的开发者,这个博客都适合你。 2834

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

javascript 中搜索数组的四种方法

前端经常要通过 javaScript 来处理数组中的数据,其中就包括检查数组中是否包含满足特定搜索条件的单个或者多个值,这就需要我们关于用于确认的布尔值、数组中值得位置索引或包含所有搜索结果的单独数组等。 在 ECMAScript6 之前,最常用的方法就是通过 for 循环来遍历数组中的所有项目并对项目执行操作。现在我们可以通过内置的使用方法来完成在数组中搜索值的常见任务。 本文将介绍 Array.includes()、Array.indexOf()、Array.fiind() 和 Array.filter

CRMEB小程序商城的博客 2万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

[JavaScript] 数组迭代方法详解,前端开发自学

基础知识是前端一面必问的,如果你在基础知识这一块翻车了,就算你框架玩的再6,webpack、git、node学习的再好也无济于事,因为对方就不会再给你展示的机会,千万不要因为基础错过了自己心怡的公司。前端的基础知识杂且多,并不是理解就ok了,有些是真的要去记。当然了我们是牛x的前端工程师,每天像背英语单词一样去背知识点就没必要了,只要平时工作中多注意总结,面试前端刷下题目就可以了。什么?你问面试题资料在哪里,这不是就在你眼前吗(滑稽以扫码获取!!(备注:前端)**

2401_84091742的博客 1049

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

js前端数组常用方法

一.JavaScript中创建数组的方式 1.使用Array构造函数 var color=new Array();     注意:括号里面参数可以有参数,若为一个数字,表示该数组的长度,如果为多个数字或者一个(多个)非数字表示的是传递数组中应该包含的值。 2.使用数组字面量 var color=[]; 二. 数组的长度 三.数组的方法有数组原型方法,也有从object...

暴走的山交君的博客 4306

前端JS 之 数组 Array

数组是一种特殊的对象类型,用于存储一系列的元素,这些元素可以是任何类型的数据。数组的元素通过索引进行访问,索引从 0 开始。

lingxiaolujun的博客 1247

【js数组的基本使用方法】javascript最全的数组方法

javascript最全的数组方法,包括ES6语法

ytfty24124的博客 1538

前端JavaScript——js声明定义数组及常用操作

数组的声明: 1、在js中,数组的声明不需要指定其长度 2、在js中,数组可以存放不同类型的数据(一般要求数据中采访同类型的数据) js定义数组: 空数组 一般常用这种形式,数组元素的定义使用[] var arr=[]; var arr1=[9,5,2,7]; 还有一种声明形式; var arr=new array(); 对象数组 var arr2=[{Name:"小牧童",Age:12},{Name:"小蜗牛",Age:9}]; 访问数组: 数组元素的访问(同样使用下标进行访问) 比

m0_48930261的博客 1万+

前端知识速记—JS篇:JS数组方法

2. concat() 方法用于合并两个或多个数组,返回新数组。 3. splice() 方法的语法如下: 参数说明: : 从数组中开始操作的位置(索引)。从 0 开始计数。如果 start 为负数,则表示从数组末尾开始的偏移量。 : 要删除的元素个数。如果不指定这个参数或设置为 0,表示不删除元素。 : 要添加到数组中的元素,这些元素从 索引位置开始插入。 示例: 我们来具体分析这行代码: 假设当前的 数组如下: 操作过程: 起始位置: 设置为 1,表示我们从数组的索引 1 开始操作。也就是

无限大的博客 1646

【前端】JavaScript中的常见的数组方法、类数组对象、数组的常见操作

在日常开发中经常会遇到各种类数组对象,最常见的就是在函数中使用的 arguments,它的对象只定义在函数体中,包括了函数的参数和其他属性。打印结果如下:可以看到,typeof 这个 arguments 返回的是 object,通过 Object.prototype.toString.call 返回的结果是 [object arguments],而不是 [object array],说明 arguments 和数组还是有区别的。length 属性就是函数参数的长度。

xs_good的博客 1283

前端javascript数组方法

数组是前端开发中不可或缺的数据结构,用于存储和操作有序数据。本文介绍了数组的基本概念、创建方法(字面量和Array构造函数)以及常用操作,包括添加/删除元素(push、pop等)、遍历(forEach、map等)、查找与判断(indexOf、includes等)、排序与反转(sort、reverse)、拼接与分割(concat、slice等)。此外,还探讨了数组的高级操作(扁平化、拷贝、迭代器等)、性能优化技巧(避免频繁操作长度、使用Set/Map优化)、常见问题(去重、浅拷贝与深拷贝、稀疏数组)以及实际应

TT_BC的博客 635
下一篇: 前端数组遍历的 “六把钥匙”:解锁 forEach、map、filter、some、every、find 六法核心差异(二)
bugcome_com
博客等级 码龄3年 32粉丝 131原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bugcome_com

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值