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( ...
随机推荐
- Centos 7 systemctl和防火墙firewalld命令
今天自己在Hyper-v下搭建三台Linux服务器集群,用于学习ELKstack(即大数据日志解决技术栈Elasticsearch,Logstash,Kibana的简称),下载的Linux版本为cen ...
- 转---CentOS安装Oracle数据库详细介绍及常见问题汇总
一.安装前准备 1.软件硬件要求 操作系统:CentOS 6.4(32bit)Oracle数据库版本:Oracle 10g(10201_database_linux32.zip)最小内存:1G(检查命 ...
- [Android] AndroidStudio + JNI(NDK)开发相关总结
1.官方推荐JNI构建方案 从Android studio 2.2 开始,Google推荐的JNI开发构建工具是CMake而不是NDK,参考官方文档:https://developer.android ...
- EXSI6.5复制文件太慢的解决方法
听说裸金属服务器性能比在windows中安装VMware workstations要好,就在电脑上安装了一个EXSI6.5. 可是在复制文件时很慢,一个3G的文件复制了两三个小时,还时常担心网络会断, ...
- create-react-app快速搭建react-app
npm i create-react-app -g 全局安装 create-react-app mydemo 创建一个项目,安装依赖 cd mydemo 进入mydemo目录 yearn sta ...
- SpringBoot使用redis缓存List
一.概述 最近在做性能优化,之前有一个业务是这样实现的: 1.温度报警后第三方通讯管理机直接把报警信息保存到数据库: 2.我们在数据库中添加触发器,(BEFORE INSERT)根据这条报警信息处理业 ...
- MOngoDB为现有数据添加或删除某一字段
var lst =db.getCollection('config').find({}); while(lst.hasNext()) { var site=lst.next(); db.config. ...
- 廖雪峰Java4反射与泛型-2注解-3处理注解
1.处理注解 注解本身对对代码逻辑没有任何影响 SOURCE类型的注解在编译期就被丢掉了 CLASS类型的注解仅保存在class文件中 RUNTIME类型的注解在运行期可以被读取 如何使用注解由工具决 ...
- Git revert及其他一些回退操作
放弃本地的代码和本地提交,希望会退到远程分支的某次提交时,使用git reset --hard fa042ce. 本地已提交,但是发现有问题,想要撤销本地的提交,使用git checkout /trs ...
- ngx_lua_waf
Web应用防护系统Web Application Firewall,简称WAF.针对HTTP/HTTPS的安全策略专门为Web应用提供保护的产品. OpenResty是一个基于 Nginx 与 Lua ...