全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JavaScript数组迭代方法

最近工作中经常涉及到数据的处理,数组尤其常见,经常需要对其进行遍历、转换操作,网上的文章零零散散,不得已自己又找出红宝书来翻出来看,顺便记一笔,便于以后查询。

数组常用的迭代方法

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()迭代数组详细步骤  # 每一项  # 返回值  # 组中  # 想知道  # 迭代  # 和你  # 红宝书  # 遍历  # 要在  # 对其  # 跟你  # 可选  # 若有  # 想把  # 涉及到  # 比你  # 拿到了  # 先来  # 更低  # 有没有人 


相关文章: mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  宁波免费建站如何选择可靠模板与平台?  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  如何彻底删除建站之星生成的Banner?  b2c电商网站制作流程,b2c水平综合的电商平台?  如何在橙子建站上传落地页?操作指南详解  建站之星备案流程有哪些注意事项?  建站之星安装模板失败:服务器环境不兼容?  装修招标网站设计制作流程,装修招标流程?  javascript中的try catch异常捕获机制用法分析  北京专业网站制作设计师招聘,北京白云观官方网站?  c++如何打印函数堆栈信息_c++ backtrace函数与符号名解析【方法】  打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何制作一个表白网站视频,关于勇敢表白的小标题?  如何彻底卸载建站之星软件?  东莞专业网站制作公司有哪些,东莞招聘网站哪个好?  如何在Golang中处理模块冲突_解决依赖版本不兼容问题  如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?  企业网站制作公司网页,推荐几家专业的天津网站制作公司?  宿州网站制作公司兴策,安徽省低保查询网站?  建站之星安装后如何自定义网站颜色与字体?  ,怎么用自己头像做动态表情包?  专业商城网站制作公司有哪些,pi商城官网是哪个?  国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?  已有域名能否直接搭建网站?  平台云上自主建站:模板化设计与智能工具打造高效网站  如何快速搭建虚拟主机网站?新手必看指南  如何在万网ECS上快速搭建专属网站?  网站制作软件有哪些,制图软件有哪些?  长沙做网站要多少钱,长沙国安网络怎么样?  如何在建站宝盒中设置产品搜索功能?  韩国代理服务器如何选?解析IP设置技巧与跨境访问优化指南  建站之星如何快速生成多端适配网站?  音响网站制作视频教程,隆霸音响官方网站?  IOS倒计时设置UIButton标题title的抖动问题  建站之家VIP精选网站模板与SEO优化教程整合指南  如何设计高效校园网站?  香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧  建站之星如何通过成品分离优化网站效率?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  建站主机助手选型指南:2025年热门推荐与高效部署技巧  免费制作小说封面的网站有哪些,怎么接网站批量的封面单?  网站制作网站,深圳做网站哪家比较好?  如何通过可视化优化提升建站效果?  建站org新手必看:2024最新搭建流程与模板选择技巧  C++如何编写函数模板?(泛型编程入门)  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。