JavaScript数组迭代方法
发布时间 - 2026-01-10 23:23:56 点击率:次最近工作中经常涉及到数据的处理,数组尤其常见,经常需要对其进行遍历、转换操作,网上的文章零零散散,不得已自己又找出红宝书来翻出来看,顺便记一笔,便于以后查询。

数组常用的迭代方法
ECMAScript5为数组定义了5个迭代方法。每个方法都接受两个参数:要在每一项上运行的函数fn和(可选的)运行该函数的作用域对象——影响 `this` 的值。
传入这些方法中的函数(fn)会接收3个参数:item 、index 、array; 如:
array.forEach(function(item,index,array){
//do your staff here;
},this)
根据使用方法的不同,这个函数执行后的返回值,可能会/不会影响方法中的返回值。
这5个迭代方法作用及返回值概览如下:
ECMAScript5 Array元素迭代方法
| 方法名 | 方法作用 | 返回值 |
| every() | 针对数组中每一项元素运行指定函数 | Boolean:若每一项都返回true,返回true; |
| filter() | 针对数组中每一项元素运行指定函数, | Array: 返回函数运行返回true的元素组成的新数组 |
| forEach() | 针对数组中每一项元素运行指定函数 | null: 无返回值 |
| map() | 针对数组中每一项元素运行指定函数 | Array: 返回函数运行后,得到到新新元素组成的新数组 |
| some() | 针对数组中每一项元素运行指定函数 | Boolean: 若有任意一项执行函数后返回true, 则返回true |
简单来说:
every() 、some() 方法适合用于对数组元素进行条件判断;
filter() 、map() 方法适合用于对数组进行条件筛选/再处理;
forEach() 方法对不对数组本身做操作,仅仅对数组元素的二次应用;
下面介绍下各个方法的使用栗子:
先来假设一个场景,你拿到了公司的本月工资清单,假设你的工资为9000;公司员工工资组成的数组为salaries=[8500,12000,9900,9000],
a. 想知道 你的工资是不是最低的;
b.想知道 有没有人和你工资一样多;
c.想知道 是不是所有人待遇都一样;
d.想把大家的工资都换成K为单位的数据
var a,b,c;
var your=9000;
var salaries=[8500,12000,9900,9000];
a=slaries.some(function(item,index,array){
return item<9000
});
console.log(a);//true;恭喜你,还有人比你工资更低
b=salaries.filter(function(item,index,array){
return item== your;
})
console.log(b);//[9000] 呵呵,有人跟你待遇一样
c=salaries.every(function(item,index,array){
return item==your;
});
console.log(c);//false .不是所有人都和你一样待遇哦
d=salaries.map(function(item,index,array){
return item/1000
});
console.log(d);//[8.5,12,9.9,9]
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# javascript
# 数组迭代
# JS的数组迭代方法
# js数组的五种迭代方法及两种归并方法(推荐)
# JavaScript数组的5种迭代方法
# javaScript数组迭代方法详解
# 如何在JavaScript中使用map()迭代数组详细步骤
# 每一项
# 返回值
# 组中
# 想知道
# 迭代
# 和你
# 红宝书
# 遍历
# 要在
# 对其
# 跟你
# 可选
# 若有
# 想把
# 涉及到
# 比你
# 拿到了
# 先来
# 更低
# 有没有人
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
微信小程序 五星评分(包括半颗星评分)实例代码
实现点击下箭头变上箭头来回切换的两种方法【推荐】
javascript中的try catch异常捕获机制用法分析
浅谈javascript alert和confirm的美化
如何在服务器上三步完成建站并提升流量?
iOS UIView常见属性方法小结
长沙做网站要多少钱,长沙国安网络怎么样?
Firefox Developer Edition开发者版本入口
千问怎样用提示词获取健康建议_千问健康类提示词注意事项【指南】
手机网站制作与建设方案,手机网站如何建设?
CSS3怎么给轮播图加过渡动画_transition加transform实现【技巧】
如何用5美元大硬盘VPS安全高效搭建个人网站?
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
Claude怎样写结构化提示词_Claude结构化提示词写法【教程】
Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】
Bootstrap CSS布局之列表
如何在阿里云虚拟服务器快速搭建网站?
图册素材网站设计制作软件,图册的导出方式有几种?
高端企业智能建站程序:SEO优化与响应式模板定制开发
Laravel如何实现数据库事务?(DB Facade示例)
Windows Hello人脸识别突然无法使用
如何快速辨别茅台真假?关键步骤解析
如何在沈阳梯子盘古建站优化SEO排名与功能模块?
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
西安市网站制作公司,哪个相亲网站比较好?西安比较好的相亲网站?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
如何构建满足综合性能需求的优质建站方案?
WEB开发之注册页面验证码倒计时代码的实现
HTML 中动态设置元素 name 属性的正确语法详解
如何用西部建站助手快速创建专业网站?
如何确认建站备案号应放置的具体位置?
如何在阿里云通过域名搭建网站?
Win11怎么设置默认图片查看器_Windows11照片应用关联设置
Windows10怎样连接蓝牙设备_Windows10蓝牙连接步骤【教程】
深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?
网站制作报价单模板图片,小松挖机官方网站报价?
html5怎么画眼睛_HT5用Canvas或SVG画眼球瞳孔加JS控制动态【绘制】
SQL查询语句优化的实用方法总结
Laravel怎么实现支付功能_Laravel集成支付宝微信支付
Laravel如何使用Vite进行前端资源打包?(配置示例)
如何快速搭建高效WAP手机网站吸引移动用户?
Python进程池调度策略_任务分发说明【指导】
Laravel怎么上传文件_Laravel图片上传及存储配置
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
Laravel如何创建自定义Artisan命令?(代码示例)
如何用PHP快速搭建CMS系统?
购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?
简单实现jsp分页

