ES6——数组
- map 映射 ———— 一个对一个
- reduce 汇总 ———— 一堆出来一个
- 算个总数 [1,2,3]==>6
- 算平均数 [1,2,3]==>2
- filter 过滤器————
- forEach 循环(迭代)
1.[76,57,33,87,95]-->[及格,不及格,不及格,及格,及格]
2.[45,57,132,34](用户ID)
[
{name:'blue',level: 0,role: 0},
{name:'zhang',level: 88,role: 3},
{name:'li',level: 66,role: 0},
{name:'liu',level: 88,role: 0},
]
举例:
例1:
let arr = [12,5,8];
// let result = arr.map(function(item){
// return item*2;
// });
let res = arr.map(item=>item*2);
alert(res);
// 输出:24,10,16
例2:
let score = [32,67,56,76,87];
let res = score.map(item=>item>=60?'及格':'不及格');
alert(score); // 32,67,56,76,87
alert(res); // 不及格,及格,不及格,及格,及格
例1:求和
let arr = [12,69,180,8763];
let res = arr.reduce(function(tmp,item,index){
// 临时结果 当前变量 当前位置
return tmp + item;
});
console.log(res);
// 输出:9024
例2:求平均数
1.
let arr = [1,2,3,4,5,6,7];
let res = arr.reduce((tmp,item,index)=>{
return tmp+item;
})
console.log(res/(arr.length));
2.
let arr = [1,2,3,4,5,6,7];
let res = arr.reduce(function(tmp,item,index){
if(index!=this.length-1){ //不是最后一次(Y)
return tmp + item;
}else{ // 是最后一次
return (tmp + item)/arr.length;
}
});
console.log(res);
// 输出:28
3.
let arr = [1,2,3,4,5,6,7];
let res = arr.reduce((tmp,item,index)=>{
// 解决this指向问题
return index!=arr.length-1? (tmp+item):((tmp + item)/arr.length);
});
console.log(res);
// 输出:4
/*
3、filter
let arr = [1,4,3,6,5,9];
// let res = arr.filter(item=>{
// if(item%3==0){
// return true;
// }else{
// return false;
// }
// });
// let res = arr.filter(item=>item%3==0?true:false);
let res = arr.filter(item=>item%3==0);
alert(res);
// 输出:3,6,9
2.
let arr = [
{title:'男士衬衫',price:66},
{title:'女式衬衫',price:666},
{title:'男士包',price:99},
{title:'女式包',price:999}
];
let result = arr.filter(json=>json.price>=100);
console.log(result);
//
输出
(2) [{…}, {…}]
0: {title: "女式衬衫", price: 666}
1: {title: "女式包", price: 999}
length: 2
__proto__: Array(0)
*/
/*
4、forEach
let arr = [12,4,8,9];
// arr.forEach(item=>{
// alert(item);
// });
// 12 4 8 9
arr.forEach((item,index)=>{
alert(index + ':' + item);
});
// 0:2 1:4 2:8
*/
ES6——数组的更多相关文章
- ES6数组扩展
前面的话 数组是一种基础的JS对象,随着时间推进,JS中的其他部分一直在演进,而直到ES5标准才为数组对象引入一些新方法来简化使用.ES6标准继续改进数组,添加了很多新功能.本文将详细介绍ES6数组扩 ...
- ES6数组及数组方法
ES6数组可以支持下面的几种写法: (1)var [a,b,c] = [1,2,3]; (2)var [a,[[b],c]] = [1,[[2],3]]; (3)let [x,,y] = [1,2,3 ...
- 数组的复制及ES6数组的扩展
一.数组的复制 // alert([1,2,3]==[1,2,3]); let cc = [0,1,2]; let dd = cc; alert(dd==cc);//此时改变dd会影响cc ES5 只 ...
- es6数组的扩展
数组扩展运算符 ...(三个点) const demoArr=[0,1,2,3,4] console.log(...demoArr) // 0 1 2 3 4 // 他把一个数组用逗号分隔了出来 // ...
- ES6 数组方法拓展
ES6 数组方法拓展 1.Array.from() Array.from方法用于将两类对象转为真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括E ...
- ES6数组相关
ES6数组新增的几个方法: 1. forEach() //forEach()遍历数组,无返回值,不改变原数组 var arr=[1,2,3,4] arr.forEach((item,index,arr ...
- ES6数组新加 Buff
欢迎关注本人公众号<迈向大前端>,里面有15本前端相关的电子书,送给在前端路上迷茫的同学们! 本章篇幅很长,分开来发,这一小篇主要讲ES6数组的Array.of()和Array.from( ...
- ES6数组的扩展--Array.from()和Array.of()
一. Array.from() : 将伪数组对象或可遍历对象转换为真数组 1.何为伪数组 如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就很像数组,语法上称为"类 ...
- JavaScript ES6 数组新方法 学习随笔
JavaScript ES6 数组新方法 学习随笔 新建数组 var arr = [1, 2, 2, 3, 4] includes 方法 includes 查找数组有无该参数 有返回true var ...
- 关于 ES5 & ES6 数组遍历的方法
ES5 数组遍历方法 1.for 循环 , , , , ] ; i < arr.length; i++) { console.log(arr[i]) } 2.forEach , , , , ] ...
随机推荐
- [题目] 4座塔的Hanoi
题目地址 经典递推题. 解出 n (1<=n<=12) 个盘子 \(4\) 座塔的Hanoi(汉诺塔)问题最少需多少步?(1到12每个答案分别占一行) 题解 在原Hanoi问题中 \(d[ ...
- bzoj3589 动态树 树链剖分+容斥
题目传送门 https://lydsy.com/JudgeOnline/problem.php?id=3589 题解 事件 \(0\) 不需要说,直接做就可以了. 事件 \(1\) 的话,考虑如果直接 ...
- HTML5 Canvas(实战:绘制饼图2 Tooltip)
继上一篇HTML5 Canvas(实战:绘制饼图)之后,笔者研究了一下如何给饼图加鼠标停留时显示的提示框. Plot对象 在开始Coding之前,笔者能够想到的最easy的方式,就是给饼图的每一个区域 ...
- 黑客已经瞄准5G网络,如何防止LTE网络攻击?
黑客是如何攻击5G网络?即使5G进行大规模应用,LTE技术会被淘汰吗?那么我们应该如何防止LTE网络攻击? 5G-网络黑客 即将推出的5G网络也可能容易受到这些攻击,来自中国网络安全研究人员表示,尽管 ...
- django之模型类在视图中的应用
一:模型类直接从把前端表单传入的值,进行存储. @csrf_exempt def regist(request): if request.method == 'POST': form = UserFo ...
- 使用django 的cache设置token的有效期
from rest_framework.authentication import BaseAuthentication from rest_framework.exceptions import A ...
- Python PEP8代码书写规范
摘自: 规范 https://blog.csdn.net/ratsniper/article/details/78954852
- Conda 中安装 Keras
conda create -n keras python=3.5 ipykernel activate keras python -m ipykernel install --user --name ...
- 全文检索 使用最新lucene3.0.3+最新盘古分词 pangu2.4 .net 实例
开发环境 vs2015 winform 程序 1 首先需要下载对应的DLL 文章后面统一提供程序下载地址 里面都有 2 配置pangu的参数 也可以不配置 采用默认的即可 3 创建索引,将索引存放到本 ...
- IntelliJ IDEA 装配FindBugs以及应用
IntelliJ IDEA 安装FindBugs以及应用 众所周知,项目越来越大,开发人员越来越多,我们的代码审查工作会变得越来越复杂,对代码质量控制难度也与日俱增,尽管经验丰富的程序员能审查能检查出 ...