石川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
版权申明:欢迎转载,但请注明出处
一些博文中有一些参考内容因时间久远找不到来源了没有注明,如果侵权请联系我删除。
在校每年国奖、每年专业第一,加拿大留学,先后工作于华东师范大学和香港教育大学。
2024-10-30:27岁,宅加太忙,特此在网上找女朋友,坐标上海,非诚勿扰,vx:fan404006308
AI交流资料群:753014672