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分页