es6数组map,reduce,filter,forEach,some,every

es6数组新增6个方法
1.map (映射)1个对一个 进去什么最后return 什么 不会改变原数组,返回一个新的数组,对应参数:item 每次的值,当前索引,原来数组 arr

例子:
成绩对应等级
let arr =[22,55,67,33,99,70];
let result = arr.map((item,index,arr)=>{
return item>60?'及格':'不及格';
})
console.log(result)

2.reduce (汇总) 1堆对一个 求和或者求平均数

let store = [22,44,33,56,70,83,80]
let total = store.reduce((temp,item,index)=>{
//temp是每次的临时变量是第n次和第n+1次的临时和,item是每次要往上加的值,index是每次循环的index
console.log(temp,item,index)
return temp+item;
})
console.log(total)

要是求平均数 就应该再最后一次时用总数除以数组的长度。

let store = [22,44,33,56,70,83,80]
let total = store.reduce((temp,item,index)=>{
//temp是每次的临时变量是第n次和第n+1次的临时和,item是每次要往上加的值,index是每次循环的index
console.log(temp,item,index)
if(index!=arr.lenth-1){//不是最后一次
return temp+item;
}else{//是最后一次
return (temp+item)/arr.length;
}

})
console.log(total)

3.filter 过滤器 通过返回true或者false来确认最终的结果

let num = [2,4,76,87,35,66];
let result = num.filter(item=>item%3===0)
console.log(result);

4.forEach 循环 (迭代)

//forEach遍历数组,无返回值,不改变原数组,仅仅只是遍历
let arr = [2,3,4,5]
arr.forEach(item=>console.log(item))

5.every
let arr = [1,2,3,4];
let flag= arr.every((item,index,arr) =>item > 1 //结果为false
)
//遍历数组每一项,每一项返回true,则最终结果为true。当任何一项返回false时,停止遍历,返回false。不改变原数组

6.some
var arr = [1,2,3,4];
let num =arr.some((item,index,arr) => {
console.log(item)
return item > 1 //结果为false
})
console.log(num)

//遍历数组每一项,有一项返回true,就返回true,当任何一项返回true时,则停止遍历,返回true;

以上6个方法均为ES6语法,IE9及以上才支持。不过可以通过babel转意支持IE低版本。
以上均不改变原数组。
some、every返回true、false。
map、filter返回一个新数组。
reduce让数组的前后两项进行某种计算,返回最终操作的结果。
forEach 无返回值。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 4,199评论 0 13
  • 1、新的声明方式 以前我们在声明时只有一种方法,就是使用var来进行声明,ES6对声明的进行了扩展,现在可以有三种...
    令武阅读 1,036评论 0 7
  • *node下用express框架,实现一个简单的mvc *构建工具:gulp / babel / webpack ...
    韩娜爱吃辣_前端程序媛阅读 1,126评论 0 1
  • 第一次有人在KTV说为我唱首歌。 本来她没有说这首歌是唱给我的,后来才告诉我。但其实我已经注意到她很久了,我们来自...
    moooon1155阅读 399评论 0 0
  • 入冬了,园区两只猫明显有些饿了跟着我走了一段路,可惜我没带猫粮。
    小梅弄堂阅读 245评论 0 0