数组方法map(映射),reduce(规约),foreach(遍历),filter(过滤)

时间:2022-09-24 18:39:59
数组方法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. Ural 1057 Amount of Degrees

    Description 问[L,R]中有多少能表示k个b次幂之和. Sol 数位DP. 当2进制时. 建出一个二叉树, \(f[i][j]\) 表示长度为 \(i\) 有 \(j\) 个1的个数. 递 ...

  2. 浅谈压缩感知(二十六):压缩感知重构算法之分段弱正交匹配追踪(SWOMP)

    主要内容: SWOMP的算法流程 SWOMP的MATLAB实现 一维信号的实验与结果 门限参数a.测量数M与重构成功概率关系的实验与结果 SWOMP与StOMP性能比较 一.SWOMP的算法流程 分段 ...

  3. paip. 调试技术打印堆栈 uapi print stack java php python 总结.

    paip. 调试技术打印堆栈 uapi print stack java php python 总结. 作者Attilax  艾龙,  EMAIL:1466519819@qq.com 来源:attil ...

  4. linux_jvm_jhat_dump内存分析

    jhat命令   jhat命令 -- Java Head Analyse Tool 用途:是用来分析java堆的命令,可以将堆中的对象以html的形式显示出来,包括对象的数量,大小等等,并支持对象查询 ...

  5. centos6.5下Zabbix系列之Zabbix安装搭建及汉化

    最近在研究zabbix,在整理完成之后就有了写一下总结博客的想法,在我研究zabbix的时候给我很大帮助的是it你好,博客地址http://itnihao.blog.51cto.com/他做的zabb ...

  6. 如何在sqlserver建立新用户并关联相应的数据库

    我们经常需要在数据库上建立有权限的用户,该用户只能去操作某个特定的数据库(比如该用户只能去读,去写等等),那么我们应该怎么在sqlserver上设置呢?下面的步骤有点长,只要一步一步跟着设置就行 方法 ...

  7. HTML的基础复习

    html是描述网页的一种语言,是通向web技术世界的钥匙, html指的是超文本标记语言 <html></html>之间的文本描述网页 <body></bod ...

  8. 2&period;11 alert&bsol;confirm&bsol;prompt

    2.11 alert\confirm\prompt 前言   不是所有的弹出框都叫alert,在使用alert方法前,先要识别出到底是不是alert.先认清楚alert长什么样子,下次碰到了,就可以用 ...

  9. Codeforces Beta Round &num;49 &lpar;Div&period; 2&rpar;

    Codeforces Beta Round #49 (Div. 2) http://codeforces.com/contest/53 A #include<bits/stdc++.h> ...

  10. 装饰器(Decorator)模式

    1  装饰模式能够实现动态的为对象添加功能,是从一个对象外部来给对象添加功能.通常给对象添加功能,要么直接修改对象添加相应的功能,要么派生对应的子类来扩展,抑或是使用对象组合的方式.显然,直接修改对应 ...