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

数组常用的迭代方法
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小时内与您取得联系。