微信扫一扫打赏支持

石川es6课程---7、数组

石川es6课程---7、数组

一、总结

一句话总结:

^ 主要就map(映射:一个对一个),reduce(汇总:一堆出来一个),filter  过滤器,forEach 循环(迭代) 四个方法
^ 使用形式就是方法里面接匿名函数作为参数:例如let result = arr.map(function (item) {

 

 

二、数组

-   map    (映射:一个对一个)
```
[112,58,6,990]
[及格,不及格,不及格,及格]
let arr=[12,5,8]
// let res=arr.map(function(item){
//    return 2*item
// })
//es6简化版
let res=arr.map(item => item*2)
alert(res)
//数据映射
let score=[50,66,70,49,85]
let res=score.map(item => item>=60?'及格':'不及格')
console.log(score,res)
```
-   reduce  (汇总:一堆出来一个)
1.  算总数,算平均数
```
        let res1=score.reduce(function(tmp,item,index){
            //tmp为上一次结果
            //item为当前数字
            //index为下标(迭代次数)
            console.log(tmp,item,index)
            if(index!=this.length-1){
                return tmp+item
            } else{
                return (tmp+item)/arr.length
            }
        })
```
-   filter  过滤器
```
    let res2=score.filter(item=>{
        // if(item%4==0){
        //     return true
        // }else{
        //     return false
        // }
        return item%4==0
    })
```
-   forEach 循环(迭代)
```
        let res3=score.forEach((item,index)=>{
           return item//undefined,没有返回值
        })
```

 

7.数组

新增4个方法
map 映射 一个对一个
let arr = [12, 5, 8]
let result = arr.map(function (item) {
    return item*2
})
let result2 = arr.map(item=>item*2) // 简写
console.log(result)
console.log(result2)

let score = [18, 86, 88, 24]
let result3 = score.map(item => item >= 60 ? '及格' : '不及格')
console.log(result3)

// 结果
[ 24, 10, 16 ]
[ 24, 10, 16 ]
[ '不及格', '及格', '及格', '不及格' ]
reduce 汇总 一堆出来一个
用于比如,算个总数,算个平均
var arr = [1, 3, 5, 7]
var result = arr.reduce(function (tmp, item, index) {
    //tmp 上次结果,item当前数,index次数1开始
    console.log(tmp, item, index)
    return tmp + item
})
console.log(result)

var arr = [1, 3, 5, 7]
var result = arr.reduce(function (tmp, item, index) {
    if (index != arr.length - 1) { // 不是最后一次
        return tmp + item
    } else {
        return (tmp + item)/arr.length
    }
})
console.log(result)  // 平均值
filter 过滤器 保留为true的
var arr = [12, 4, 8, 9]
var result = arr.filter(item => (item % 3 === 0) ? true : false)
console.log(result)
var result = arr.filter(item => item % 3 === 0)
console.log(result)

var arr = [
    { title: '苹果', price: 10 },
    { title: '西瓜', price: 20 },
]
var result = arr.filter(json => json.price >= 20)
console.log(result)
forEach 循环迭代
var arr = [12, 4, 8, 9]
var result = arr.forEach(item => console.log(item))
var result = arr.forEach((item, index)=>console.log(item

 

 

 

 

 

 
posted @ 2019-09-27 22:27  范仁义  阅读(322)  评论(0编辑  收藏  举报