JavaScript数组方法大全(按场景分类总结)

JavaScript 数组中较为常用、好用的方法按使用场景分类总结如下,每个方法标注核心特点和适用场景,方便快速查阅和使用。

一、动态增删改(数组核心动态特性)

方法核心作用关键特点示例
push()尾部添加1+元素直接修改原数组,返回新长度arr.push(10, 20)→ [原元素,10,20]
pop()尾部删除1个元素直接修改原数组,返回被删元素arr.pop()→ 删除最后一个
unshift()头部添加1+元素直接修改原数组,返回新长度(性能略差)arr.unshift(5)→ [5, 原元素]
shift()头部删除1个元素直接修改原数组,返回被删元素arr.shift()→ 删除第一个
splice()任意位置增/删/改万能动态操作,直接修改原数组arr.splice(1,0,20)→ 索引1插入20;arr.splice(1,1)→ 索引1删除1个

二、查找/判断(快速找元素、验存在)

方法核心作用关键特点适用场景
includes()判断是否包含某元素返回布尔值,能识别NaN,语义最强基础类型(数字/字符串)判存在
indexOf()找元素首次出现的索引返回索引/-1,兼容旧环境,无法识别NaN兼容IE、需要获取元素位置
find()找第一个满足条件的元素返回元素/undefined,支持自定义条件复杂元素(对象)查找
findIndex()找第一个满足条件的索引返回索引/-1,支持自定义条件找复杂元素的位置

三、遍历处理(逐个操作元素)

方法核心作用关键特点适用场景
forEach()遍历数组执行回调无返回值,仅遍历(不能中断)简单遍历、无返回值的操作
map()遍历并返回新数组不修改原数组,返回“处理后的新数组”数组元素转换(如数值翻倍)
filter()筛选满足条件的元素不修改原数组,返回“符合条件的新数组”数组过滤(如筛选大于10的数)
some()判断是否有元素满足条件找到即停止遍历,返回布尔值判“是否存在”复杂条件元素
every()判断是否所有元素满足条件有一个不满足即停止,返回布尔值判“全部符合”(如全是正数)

四、转换/重组(生成新值/新数组)

方法核心作用关键特点示例
reduce()数组归并为单个值万能转换,支持累加/拼接/统计等arr.reduce((sum, n) => sum+n, 0)→ 求和
join()数组转字符串自定义分隔符,默认逗号[1,2].join("-")→ “1-2”
concat()数组合并不修改原数组,返回新数组[1].concat([2,3])→ [1,2,3]
slice()截取数组片段不修改原数组,返回新数组(左闭右开)[1,2,3].slice(0,2)→ [1,2]

五、排序/反转(调整元素顺序)

方法核心作用关键特点注意点
sort()数组排序直接修改原数组,默认按字符串排序数字排序需传回调:arr.sort((a,b)=>a-b)(升序)
reverse()数组反转直接修改原数组,返回反转后的原数组[1,2,3].reverse()→ [3,2,1]

六、其他高频实用方法

方法核心作用关键特点
flat()数组扁平化处理嵌套数组,flat(Infinity)拍平所有层级
fill()填充数组用指定值填充全部/部分元素,修改原数组
toString()数组转字符串等同于join(","),简单快捷

核心总结

  1. 动态操作:日常增删用push/pop(尾部)、unshift/shift(头部),任意位置操作选splice()

  2. 判断存在:基础类型用includes()(最便捷),复杂对象用some()

  3. 遍历处理:无返回值遍历用forEach(),生成新数组用map(),筛选元素用filter()

  4. 排序:数字排序一定要传回调(a,b)=>a-b(升序)/(a,b)=>b-a(降序),避免默认字符串排序坑;

  5. 核心原则map/filter/concat/slice不修改原数组,push/pop/splice/sort直接修改原数组,使用时注意区分。

这些方法覆盖了数组 95% 的日常使用场景,记住分类和核心特点,就能快速选对方法,不用重复写循环逻辑。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1120226.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

三折叠手机有什么使用场景和优势?三星Galaxy Z TriFold给出新答案

当手机形态从直板走向折叠,三折叠设计的出现是否只是噱头?10英寸三折叠大屏、5600毫安时大电池......这些配置又能解决多少真实需求?三星Galaxy Z TriFold的到来,让三折叠手机的实用价值逐渐清晰。一、多屏协同:重塑移…

三星最新款手机推荐:三折叠形态如何重塑移动终端体验?

当手机形态陷入直板与常规折叠的同质化竞争,一款能实现四屏三折叠的旗舰机型是否会打破僵局?三星Galaxy Z TriFold的登场,不仅带来了前所未有的折叠设计,更在性能、体验与便携性之间找到了新的平衡点,成为当下高端手机…

计算机深度学习毕设实战-机器学习基于cnn训练手写数字识别基于cnn训练手写数字识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

在AI原生应用领域持续学习,成就非凡自我

在AI原生应用领域持续学习,成就非凡自我 清晨7点,我坐在电脑前,Notion AI自动弹出昨天未完成的《AI原生应用行业报告》,附了一句:"根据你过往的写作风格,我帮你拟了三个结尾方向,需要优先看‘未来趋势’版吗?"与此同时,AutoGPT已经帮我爬取了上周10篇行业顶…

计算机深度学习毕设实战-基于python深度学习的猫狗表情识别基于python深度学习的猫狗表情识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

小小梦魇3丨悬疑冒险丨线上合作丨解谜逃脱

《小小梦魇3》是一款悬疑冒险游戏,玩家将跟随小洛和小寂的旅程,探索“虚无之地”,寻找逃离这个梦魇般世界的道路。游戏支持与好友进行线上合作,或者与AI同伴一起解谜,体验更加丰富的游戏乐趣。 游戏中提供了多种解谜机…

paperzz 文献综述:从选题到成稿,AI 工具如何重塑学术写作效率?

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 文献综述https://www.paperzz.cc/journalsReviewed 学术写作里,文献综述是绕不开的 “第一道坎”:既要梳理领域脉络,又要精准对标研究缺口,还要兼…

音频转换器丨支持多种格式互转丨界面简约易操作

Moo0 Mp3转换器是一款专业的音频格式转换工具软件,专注于mp3音频格式的处理,支持多种音频格式之间的互相转换,包括mp3与aac、flac、mp2、wav、wma等格式,操作简便,极为高效。软件界面设计简约,布局直观清晰…

深度学习毕设项目:机器学习基于python深度学习的猫狗表情识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

深度学习毕设项目:基于 python的训练手写数字识别基于cnn训练手写数字识别

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

python基于django的基于顾客偏好的唯品会个性化商品推荐系统设计与实现_w5db2l1q

目录摘要关键词关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 基于Django框架的个性化商品推荐系统旨在为唯品会用户提供精准的商品推荐,通过分析顾客偏好和行为数…

paperzz 开题报告:从 “卡壳的选题” 到 “15 页 PPT 成品”,学术新手的开题救星

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 开题报告https://www.paperzz.cc/proposal 开题报告是学术写作的第一道 “拦路虎”:选题怕太旧、框架怕逻辑乱、PPT 怕不够专业,熬了一周可能只写出半页研究背景。而 pa…

从 paperzz 到 7 款 AI 工具:开题答辩的 “材料速成军团”,1 天搞定报告 + PPT + 话术

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 开题报告https://www.paperzz.cc/proposal 开题答辩的 “材料战”,曾是学术人的 “噩梦”:写报告卡逻辑、做 PPT 费排版、练话术没方向 —— 而 AI 工具的出现&#xff…

压轴出场!基于Coze的Agent新项目来了!

智能体是目前企业落地复杂业务大模型应用的常用方法之一,Coze作为一款可视化的云端工作流工具,可以快速落地的智能体,占据着独特的生态位。对于很多企业来讲,能够使用Coze开发智能体是招聘时的必备技能此次黑马上新的新项目是基于…

python基于django的户外救援系统_jdzgi247

目录 户外救援系统概述核心功能模块技术实现细节安全与扩展性 关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 户外救援系统概述 基于Django的户外救援系统旨在为户外活动爱好者提…

空调智能插座从单向控制到闭环管理的技术体系创新

在空调智能化改造中,真正的难题往往不在于能否远程控制,而在于系统是否经得起长期运行与真实使用场景的考验。大量项目在上线初期看似可控,却在运行期逐步失效,背后暴露的是管理逻辑而非硬件能力的问题。本文从行业现状出发&#…

无法定位软件包 qt6-base-dev

问题:sudo apt install qt6-base-dev qt6-base-dev-tools libqt6core6 libqt6gui6 libqt6widgets6 正在读取软件包列表... 完成 正在分析软件包的依赖关系树... 完成 正在读取状态信息... 完成 E: 无法定位软件包 qt6-base-dev E: 无法定位软件包 …

python基于django的攻防靶场实验室平台的设计与实现_xd0oo5dg

目录 基于Django的攻防靶场实验室平台设计与实现 关于博主开发技术路线相关技术介绍核心代码参考示例结论源码lw获取/同行可拿货,招校园代理 :文章底部获取博主联系方式! 基于Django的攻防靶场实验室平台设计与实现 该平台旨在为网络安全学习与实践提供…

硕士开题不用 “改到崩溃”:paperzz 开题报告,连 PPT 都能一键配套的智能写作工具

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 开题报告https://www.paperzz.cc/proposal 对硕士研究生来说,开题报告的 “难”,从来不是 “写内容”—— 是 “格式要对齐学校要求”“逻辑要匹配研究方向”“还要配套…

大模型位置编码全解析:从三角函数到RoPE再到YaRN

本文系统介绍大模型中的位置编码技术,包括三角位置编码、相对位置编码、旋转位置编码(RoPE)及其优化版本YaRN。详细阐述各种方法的数学原理、优缺点和实现方式,特别关注位置编码如何影响模型长序列处理能力。RoPE通过旋转变换显式建模相对位置关系&#…