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 , , , , ] ...
随机推荐
- php注解
官方全部注解:https://docs.phpdoc.org/references/phpdoc/tags/index.html 1.@var 您可以使用@var标记来记录属性的“类型”,有时也称为类 ...
- springboot框架中的各种 注解
使用注解的优势: 1.采用纯java代码,不在需要配置繁杂的xml文件 2.在配置中也可享受面向对象带来的好处 3.类型安全对重构可以提供良好的支持 4.减少复杂配置文件的同时亦能享受到springI ...
- [洛谷P4841][集训队作业2013]城市规划
传送门 题目大意 求出\(n\)个点的简单(无重边无自环)有标号无向连通图数目.\(n\leq 130000\). 题解 题意非常简单,但做起来很难.这是道生成函数经典题,博主当做例题学习用的.博主看 ...
- jsqlparser
摘要:SQL语法解释器jsqlparser 是用java开发的解析器,可以生成java类层次结构. 主页地址:http://jsqlparser.sourceforge.net 可以完美解析表的增删查 ...
- C语言 | 线段树
#include<stdio.h> #define MAX_LEN 1000 void build_tree(int arr[],int tree[],int node,int start ...
- React准备工作
一.环境准备 使用react官方推荐的脚手架create-react-app 1.安装nodejs 2.npm install -g create-react-app //全局安装脚手架 3.cre ...
- 在java中
// 进入prompt回调 public class JSBridgeWebChromeClient extends WebChromeClient { @Override public boolea ...
- (转)用Flink取代Spark Streaming!知乎实时数仓架构演进
转:https://mp.weixin.qq.com/s/e8lsGyl8oVtfg6HhXyIe4A AI 前线导读:“数据智能” (Data Intelligence) 有一个必须且基础的环节,就 ...
- AtCoder Grand Contest 012 B - Splatter Painting(dp)
Time limit : 2sec / Memory limit : 256MB Score : 700 points Problem Statement Squid loves painting v ...
- 洛谷P1546 最短网络 Agri-Net(最小生成树,Kruskal)
洛谷P1546 最短网络 Agri-Net 最小生成树模板题. 直接使用 Kruskal 求解. 复杂度为 \(O(E\log E)\) . #include<stdio.h> #incl ...