map,reduce,filter ,forEach 废话不多说代码走起

map 映射   就是一个对一个 

    /*  比如:学生成绩分数对应及格不及格
      也可以做一些算数运算
*/
let chengji = [12, 58, 99, 86, 45, 91];
/*可以接收返回的值*/
let result = chengji.map( item=> {
if (item >= 60) {
alert(item + "及格")
}
else {
alert(item + "不及格回家叫家长") }
})

reduce 汇总   一堆出来一个

        /*算出总数*/
let arr = [12, 69, 180, 8763];
/*
tmp 临时结果(每次第一个数和第二个数相加的结果),
    item 第二个数开始走 ,
index 下标(它这里是从第1个开始)
*/
let result = arr.reduce(function (tmp, item, index) {
//alert(tmp + ',' + item + ',' + index);
return tmp + item;
});
alert(result); /*算出平均分*/
let result1 = arr.reduce(function (tmp, item, index) {
if (index != arr.length - 1) { //判断不是最后一次
return tmp + item;
} else { //最后一次哪这总数除以长度
return (tmp + item) / arr.length;
}
}); alert(result1);

filter 过滤器  (可以过滤josn或是数组)

  /*过滤出大于10000元商品*/
let arr=[
{title: '男士衬衫', price: 75},
{title: '女士包', price: 57842},
{title: '男士包', price: 65},
{title: '女士鞋', price: 27531}
];
//返回的是一个数组
/*简写方式一行代码就搞定*/
let result=arr.filter(json=>json.price>=10000);
/*不用简写麻烦*/
let result1=arr.filter(function(item){
if(item.price>=10000)
{ return true;
}
})
console.log(result)
for(var i=0;i<result1.length;i++)
{
//取出arr里面的title
alert(result[i].title)
}
/*取出能被3整除的数*/
//它是返回一个bool值,true返回 false过滤掉
let arr1=[12,5,8,99,27,36,75,11];
//
let result2=arr1.filter(item=>item%3==0); alert(result2)

forEach     循环(迭代)

   /*这个简单没啥说的*/
let arr=[12,5,8,9];
let arr1=[12,5,8,9];
// item 数组 index 下标
/*简写*/
arr.forEach((item,index)=>{
alert(index+': '+item); }); arr1.forEach(function(item,index){
alert(index + ': ' + item); })

 

ES6数组的新增功能,还是很强大的好多地方用的到的更多相关文章

  1. ReSharper的功能真的很强大主要是针对代码规范和优化,园子里介绍的也不少,如果你没有安装,那我只能表示你们会相见恨晚

    二.ReSHarper 代码规范.单元测试.... ReSharper的功能真的很强大,主要是针对代码规范和优化,园子里介绍的也不少,如果你没有安装,那我只能表示你们会相见恨晚! 1.像命名不规范,f ...

  2. ES6数组对象新增方法

    1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的 ...

  3. zTree V3 是个好东西 功能很强大

    zTree V3 是个好东西 功能很强大 地址:http://www.ztree.me/v3/demo.php#_101

  4. ES6数组扩展

    前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...

  5. VS和Eclipse的调试功能哪个更强大?

    以前一直用VS 2012来调试C/C++代码,F5.F10.F11用起来甚是顺手,前面也写过一篇关于VS最好用的快捷键:Visual Studio最好用的快捷键(你最喜欢哪个), 所以对于调试C/C+ ...

  6. ES6数组的扩展--Array.from()和Array.of()

    一. Array.from() : 将伪数组对象或可遍历对象转换为真数组 1.何为伪数组 如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就很像数组,语法上称为"类 ...

  7. hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档

    相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...

  8. Windows Server 2016-Hyper-V 2016新增功能

    本文解释了Windows Server 2016和Microsoft Hyper-V Server 2016上Hyper-V的新增功能和变更功能. 与Connected Standby兼容(新) 在使 ...

  9. ES6数组新加 Buff

    欢迎关注本人公众号<迈向大前端>,里面有15本前端相关的电子书,送给在前端路上迷茫的同学们! 本章篇幅很长,分开来发,这一小篇主要讲ES6数组的Array.of()和Array.from( ...

随机推荐

  1. Spring Cloud Zuul 快速入门

    Spring Cloud Zuul 实现了路由规则与实例的维护问题,通过 Spring Cloud Eureka 进行整合,将自身注册为 Eureka 服务治理下的应用,同时从 Eureka 中获取了 ...

  2. 【java】浅谈while 和do-while

    while语法格式:while(布尔表达式){//语句}先判断布尔表达式,如果为true就会执行循环体中的语句,然后再判断布尔表达式,一直到布尔表达式为false,然后循环结束.通常用算术运算符(++ ...

  3. System.Threading.Timer

    GLog.WLog("_thdTimer before"); _thdTimer = new System.Threading.Timer(new TimerCallback(Ti ...

  4. SoapUI 5.2.1 调试工具

    SoapUI 5.2.1 调试工具 1.打开soapUI. 2.新建一个项目,实例如下: 点击ok后在soapUI界面左侧会显示出此项目,如图: 2.创建测试用例: a.新建用例组,选择此项目右键,新 ...

  5. 微信h5支付demo微信H5支付demo非微信浏览器支付demo微信wap支付

    服务项目 新手技术咨询 企业技术咨询 定制开发 服务说明 QQ有问必答 QQ.微信.电话 微信开发.php开发,网站开发,系统定制,小程序开发 价格说明 200元/月 1000/月 商议       ...

  6. Facebook Login api

    http://blog.kenyang.net/2012/01/androidfacebook-login-api.html http://blog.kenyang.net/2012/01/faceb ...

  7. SpringSecurity-ChannelProcessingFilter的作用

    ChannelProcessingFilter决定的是web请求的通道,即http或https. 在springsecurity配置文件中添加这样一行 <intercept-url patter ...

  8. KeyBoardEvent

    顺便提一句 在纯Flash CS环境下初始要这样写stage?init(null):addEventListener (Event.ADDED_TO_STAGE, init);即 if(stage ! ...

  9. problem:vue之数据变更没有触发视图更新问题

    前言: 数据变更之后,vue如何渲染dom? 实际场景: 更新数据之后,再设置滚动条的位置为什么设置无效? 为什么将隐藏的元素设置为显示状态之后,读取元素状态读取不到? 改变了对象/数组中的值,页面没 ...

  10. 《Java并发编程实战》笔记-取消与关闭

    1,中断是实现取消的最合理方式.2,对中断操作的正确理解是:它并不会真正地中断一个正在运行的线程,而只是发出中断请求,然后由线程在下一个合适的时刻中断自己.3,区分任务和线程对中断的反应是很重要的4, ...