ES6数组的新增功能,还是很强大的好多地方用的到
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数组的新增功能,还是很强大的好多地方用的到的更多相关文章
- ReSharper的功能真的很强大主要是针对代码规范和优化,园子里介绍的也不少,如果你没有安装,那我只能表示你们会相见恨晚
二.ReSHarper 代码规范.单元测试.... ReSharper的功能真的很强大,主要是针对代码规范和优化,园子里介绍的也不少,如果你没有安装,那我只能表示你们会相见恨晚! 1.像命名不规范,f ...
- ES6数组对象新增方法
1. Array.from() Array.from方法用于将两类对象转为真正的数组:类数组的对象( array-like object )和可遍历( iterable )的对象(包括 ES6 新增的 ...
- zTree V3 是个好东西 功能很强大
zTree V3 是个好东西 功能很强大 地址:http://www.ztree.me/v3/demo.php#_101
- ES6数组扩展
前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...
- VS和Eclipse的调试功能哪个更强大?
以前一直用VS 2012来调试C/C++代码,F5.F10.F11用起来甚是顺手,前面也写过一篇关于VS最好用的快捷键:Visual Studio最好用的快捷键(你最喜欢哪个), 所以对于调试C/C+ ...
- ES6数组的扩展--Array.from()和Array.of()
一. Array.from() : 将伪数组对象或可遍历对象转换为真数组 1.何为伪数组 如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就很像数组,语法上称为"类 ...
- hadoop2.6.0汇总:新增功能最新编译 32位、64位安装、源码包、API下载及部署文档
相关内容: hadoop2.5.2汇总:新增功能最新编译 32位.64位安装.源码包.API.eclipse插件下载Hadoop2.5 Eclipse插件制作.连接集群视频.及hadoop-eclip ...
- Windows Server 2016-Hyper-V 2016新增功能
本文解释了Windows Server 2016和Microsoft Hyper-V Server 2016上Hyper-V的新增功能和变更功能. 与Connected Standby兼容(新) 在使 ...
- ES6数组新加 Buff
欢迎关注本人公众号<迈向大前端>,里面有15本前端相关的电子书,送给在前端路上迷茫的同学们! 本章篇幅很长,分开来发,这一小篇主要讲ES6数组的Array.of()和Array.from( ...
随机推荐
- 编写dll时的内存分配策略
前一篇文章介绍了为何要共用内存管理器,有人要问可不可以在编写dll时更通用一些,可以兼顾其它编译器(如果是其它编译器的话,Delphi写的dll不能与其它语言共用内存管理器),采用一定的策略来避免在d ...
- linux 修改mac地址,干坏事必备
首先关闭无线 wlan0 ifconfig wlan0 down 修改mac地址 macchanger -m [MAC] [INTERFACE] 例如:macchanger -m ::::: wlan ...
- .net4.0、.net4.5、.net4.6 三者对系统的要求
net4.0 支持的操作系统 Windows 7, Windows 7 Service Pack 1, Windows Server 2003 Service Pack 2, Windows Serv ...
- linux的系统组成和计算机组成原理,linux常用操作
Linux入门 linux简介 学习目的:linux服务器操作系统稳定长期运行,python,pycharm装于linux上 linux系统组成 应用软件:调用系统软件接口 linux操作系统分两 ...
- winform无边框窗体更改大小
实现方式一: const int HTLEFT = 10; const int HTRIGHT = 11; const int HTTOP = 12; const int HTTOPLEFT = 13 ...
- 玄学曲线并不玄 教你如何看懂GPU呈现
红色代表了“执行时间”,它指的是Android渲染引擎执行盒子中这些绘制命令的时间,假如当前界面的视图越多,那么红色便会“跳”得越高.实际使用中,比如我们平时刷淘宝App时遇到出现多张缩略图需要加载时 ...
- Hadoop错误集:Could not find the main class: org.apache.hadoop.*
在搭建Hadoop机群的时候,之前遇见了很多次找不到类的错误,因为对Hadoop了解不深,所以就在网上漫无目的的找解决方案,所以这里总结下我用的方法. 解决办法一: 我之前遇到了找不到 org.apa ...
- MySQL总论
1. MySQL基本概念 1.1. 数据库的概念 数据库,简而言之就是存储数据的仓库,可以按照一定的数据结构存储管理大量的数据及数据与数据之间的关系,它本质上是一种信息管理系统.数据库根据存储采用的 ...
- 微服务之分布式跟踪系统(springboot+zipkin+mysql)
通过上一节<微服务之分布式跟踪系统(springboot+zipkin)>我们简单熟悉了zipkin的使用,但是收集的数据都保存在内存中重启后数据丢失,不过zipkin的Storage除了 ...
- 理解 neutron(15):Neutron Linux Bridge + VLAN/VXLAN 虚拟网络
学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...