数组方法map(映射),reduce(规约),foreach(遍历),filter(过滤)
map()方法返回一个由原数组中每一个元素调用一个指定方法后返回的新数组
reduce()方法接受一个函数作为累加器,数组中的每一个值开始缩减,最终为一个值。最终的返回结果为一个值
foreach() 遍历数组方法
filter() 方法使用指定的函数测试所有元素,并创建一个包含所有通过测试的元素的新数组
 
map,filter都是生成一个新数组,不同的是map处理的方法里面returen 新数值,filter里面return true/false 
 
 
map用于所有元素进行处理,并生成新元素,原数组不变
 
el:求圆的面积
var radii=[10,20,30]
var areas=radii.map((radius)=>{
    var area=Math.PI * (radius * radius);
    return area.toFixed(0);
});
console.log(areas);
输出结果:["314","1257","2827"]
 
reduce用于元素累加、元素比较大小
 
el:拼接所有数组
[[0,1],[2,3],[4,5]].reduce((acc,cur)=>acc.concat(cur));
输出结果:[0,1,2,3,4,5]
 
filter用于过滤
 
el:排除掉小于10的数
var isBigEnough=(element)=>{
    return element >10;
}
[12,5,8,120,44].filter(isBigEnough);
输出结果:[12,120,44]
 

高阶用法:面试题上的
 
el:数组去重 filter + indexOf
function unique(arr){
    var res=arr.filter(function(item,index,array){
        returun array.indexof(item)===index;
        //判断元素在数组中第一次出现位置是不是当前位置
    })
    return res;
}
 
el:找出数组中的最大值 reduce
[6, 4, 1, 8, 2, 11, 3].reduce((pre,nex)=>{
    return Math.max(pre,nex);
})
 
el:打乱数组的方法 sort
[1,2,3,4].sort(()=>{
    return 0.5 - Math.random();
})
 
 
 
 
 
 

数组方法map(映射),reduce(规约),foreach(遍历),filter(过滤)的更多相关文章

  1. 聊一聊数组的map、reduce、foreach等方法

    聊聊数组遍历方法 JS 数组的遍历方法有好几个: every some filter foreach map reduce 接下来我们来一个个地交流下. every() arr.every(callb ...

  2. codewars--js--Write Number in Expanded Form—filters、map、reduce、forEach

    问题描述: you will be given a number and you will need to return it as a string in Expanded Form. For ex ...

  3. 数组方法-->map()

    map()方法: Array.map((数组元素, 数组元素的下标, 数组本身)=>{}[,thisArray]) 1.调用时在数组内部发生了一次从 0 到 length-1 的循环: 2.返回 ...

  4. python中的zip、map、reduce 、lambda、filter函数的使用

    飞机票 lambda函数 lambda只是一个表达式,函数体比def简单很多. lambda的主体是一个表达式,而不是一个代码块.仅仅能在lambda表达式中封装有限的逻辑进去. lambda表达式是 ...

  5. 关于数组的map、reduce、filter

    map:map()方法定义在Array中,传入自己的参数,就得到一个新的Array作为结果 var aqiData = [ ["北京", 90], ["上海", ...

  6. ES5 数组方法map

    概述 map() 方法返回一个由原数组中的每个元素调用一个指定方法后的返回值组成的新数组. 语法 array.map(callback[, thisArg]) 参数 callback 原数组中的元素经 ...

  7. 用ES5实现ES6的数组方法map

    先举个常见的栗子: var arr = [1,2,3,4,6,7,8,9,12,3,25,63,100] var arr2 = arr.map(item => item += 1) consol ...

  8. 第35讲:List的map、flatMap、foreach、filter操作代码实战

    List类的高阶方法          val fmap = List( 1,2 ,3). map { _ + 1 } //List(2, 3, 4)    val fruit_rev2 = frui ...

  9. 0004python中的map,reduce,lambda,filter

    编程实现:a[0]*b[0] + a[1]*b[1] +...+a[i]*b[j] >>> a=[1,2,3,4,5]>>> b=[6,7,8,9,0] >& ...

随机推荐

  1. C# Math类简介运用

    总结了一下几个常用的Math类 /* ######### ############ ############# ## ########### ### ###### ##### ### ####### ...

  2. 真心觉得没有必要使用dock和kde桌面

    在安装了, 并使用cairo-dock后, 如果不使用 cairo-dock(fallback mode) 或不启用硬件加速, 将导致 cpu的使用率一直是100%, 而且风扇响的太厉害. 说明doc ...

  3. 【做题】TCSRM601 Div1 500 WinterAndSnowmen——按位考虑&dp

    原文链接https://www.cnblogs.com/cly-none/p/9695526.html 题意:求有多少对集合\(S,T\)满足:\(S \subseteq \{1,2...n \}, ...

  4. RHEL7防火墙策略设置

    注意查看firewall防火墙状态,并设置. 打开防火墙且没有放行端口的情况下rhel7这台机器是ping不通的. 放行端口需要永久放行,加--permernant,否则重启后失效,仍然无法访问该端口 ...

  5. 一个查表置换的CM

    说实话,今天被自己蠢哭了 因为看多了一个字符,以为是输入字符变形后的base64编码,也怪自己没大致看过base64汇编形式,把base64跟完了用py实现完算法才意思到是base64,这是题外话 本 ...

  6. c# 之系统环境安装

    在重装系统后,对一些原有软件进行了卸载,不知道是什么原因总是提示vs2015 需安装IE10,但是又碰到ie10的一些插件不适合此系统.网上介绍的vs修复没有任何作用 最后找到方法是:重装系统,然后不 ...

  7. IDEA入门级使用教程----你怎么还在用eclipse?

    http://blog.csdn.net/qq_31655965/article/details/52788374

  8. 使用explain来分析SQL语句实现优化SQL语句

    用法:explain sql 作用:用于分析sql语句 mysql> explain select * from quser_1 where loginemail = "quctest ...

  9. Echarts 修改字体样色 X、Y轴

    1.雷达图修改字体颜色 polar: [ { name:{ show: true, formatter: null, textStyle: { //设置颜色 color: '#109cad' } }, ...

  10. open()、fwrite()、fread()函数使用说明与示例

    fopen()函数: 1.作用: 在C语言中fopen()函数用于打开指定路径的文件,获取指向该文件的指针. 2.函数原型: FILE * fopen(const char * path,const ...