数组:
  • map       映射  ———— 一个对一个
  • reduce   汇总  ———— 一堆出来一个
  • 算个总数 [1,2,3]==>6
  • 算平均数 [1,2,3]==>2
  • filter   过滤器———— 
  • forEach  循环(迭代)
 
1、map      映射  ———— 一个对一个
     如:

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); // 不及格,及格,不及格,及格,及格
2、reduce   汇总  ———— 一堆出来一个
      算个总数 [1,2,3]==>6
      算平均数 [1,2,3]==>2
例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   过滤器 ——— 
/*
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  循环(迭代)
/*
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
*/

最新文章

  1. 初次使用并安装express
  2. Javascript aop(面向切面编程)之around(环绕)
  3. 获取设备的mac地址可靠的方法
  4. Delphi中Format与FormatDateTime函数详解
  5. C语言里面捕获错误机制
  6. iris数据集
  7. Linux下配置SVN
  8. dtree的使用和扩展
  9. Prompt isNaN 数组 function DOM window.open/close/location/history
  10. javaScript 封装
  11. JavaEE系列之(一)JSP基础知识详解
  12. 使用ServiceStackRedis链接Redis简介
  13. CSS控制长文本内容显示(截取的地方用省略号代替)
  14. ASP.NET中验证控件的使用
  15. 从 Kubernetes 谈容器网络
  16. Mvc中DropDownList 和DropDownListFor的常用方法
  17. Ajax--WebService返回List
  18. Linux安装开发环境,必须配置的环节(Fedora15版本)
  19. Linux系统编程(22)——响应信号
  20. 资金平台交易明细扩展开发-DEP

热门文章

  1. jpype测试报错,找不到类raise _RUNTIMEEXCEPTION.PYEXC("Class %s not found" % name)
  2. 如何查看Codeforces的GYM中比赛的数据
  3. nginx http正向代理简单配置及systemd 配置
  4. 01.helloworld--标签
  5. NIO之Buffer操作示例
  6. linux运维、架构之路-linux定时任务
  7. CF1137F Matches Are Not a Child's Play
  8. linux的shell脚本运行python程序
  9. onLayout初始化裁剪信息
  10. eureka注册中心wro.css wro.js 404