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 , , , , ] ...
随机推荐
- thinkphp url和路由
一.入口模块修改 修改public下的index 加入 define('BIND_MODULE','admin'); 即可将入门模块绑定到admin模块 <?php // [ 应用入口文件 ] ...
- 苹果IOS 12将使您的iPhone更安全,并有更强大的黑客保护
一年一度的IOS刷新正在进行中,苹果已经预览了它,beta测试者已经安装了它,当iPhone在9月份到货时我们其他人应该获得iOS12.虽然软件3-D表情符号和屏幕时间限制等功能在软件到货时可能会受到 ...
- 浅谈Java集合体系及底层实现原理
集合加载因子 https://blog.csdn.net/qq_34627002/article/details/79769261 底层原理: https://blog.csdn.net/qq_258 ...
- hdu 6047: Maximum Sequence (2017 多校第二场 1003)【贪心】
题目链接 可以贪心写,先把b数组按从小到大的顺序排个序,根据b[i]的值来产生a[n+i] 借助一个c数组,c[i]记录,j从i到n,a[j]-j的最大值,再加上一个实时更新的变量ma,记录从n+1到 ...
- 分享一个知乎答案 最详细易懂的 js闭包
作者:大闲人柴毛毛 链接:https://www.zhihu.com/question/34210214/answer/136673471 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非 ...
- dict以及defaultdict的简单使用
先看一个需求 from collections import defaultdict """ 需求: 统计user_list中字母出现的次数 ""&q ...
- linux运维、架构之路-MySQL主从复制
一.MySQL主从复制原理图 MySQL主从复制原理:实现主从复制原理是三个线程完成的,主的I/O线程,备的I/O线程与SQL线程 1.首先主库db01需要开启binlog.授权一个replicat ...
- Jenkines邮件中添加图片
1.在Jenkins的邮件插件 Email-ext中的Default Content内容编写html文件,简单模板如下: <html> <head> </head&g ...
- 饿了么CTO张雪峰:允许90后的技术人员“浮躁“一点
编者按:今年4月,饿了么正式加入了阿里新零售战队,进一步加速其在本地生活市场的扩张速度.在创业9年的时间中,饿了么在外卖领域经历了真正的“从0到1”,尤其是在外卖平台的技术升级方面,越过了一个又一个的 ...
- Android9.0特性
这篇文章,是Android官方文档的中文版本. 注意事项(AndroidP 特性): (1),android.os.Build.VERSION.RELEASE ,需要当做字符串类型处理. (2),依赖 ...