ES6高阶函数:过滤器>>filter, map,reduce

 1 // 高阶函数 filter/map/reduce
 2
 3 // filter中的回调函数有一个要求:必须返回一个boolean值,
 4 // 当返回true时,函数内部会自动将这次回调的 n 加入到新的数组中
 5 // 当返回false时,函数内部会自动过滤掉这次的 n
 6 const nums=[10,20,60,94,348,57,24,674,645,44,4]
 7 let newNums = nums.filter(function (n){
 8   return n<30
 9 })
10 console.log(newNums);
11
12 //map
13 let newNums2 = newNums.map(function (n) {
14   return n * 2
15 })
16 console.log(newNums2);
17
18 // reduce作用,对数组中的所有内容进行汇总 m赋值给prevalue,每次preValue为上次的preValue+n的值
19 let m=0;
20 let total = newNums2.reduce(function (preValue,n) {
21   return preValue + n
22 },m)
23 //newNums2=[20,40,48,8]有四个值,那就循环四次
24 // 第一次 :preValue=0    n=20
25 // 第二次 :preValue=20   n=40
26 // 第三次 :preValue=60   n=48
27 // 第四次 :preValue=108   n=8
28 // 第五次 :preValue=116
29 // 最后返回116赋值给 total
30 console.log(total);
31 console.log("*********高阶写法***************");
32
33 let total2 = nums.filter(function (n) {
34   return n<30
35 }).map(function (n) {
36   return n*2
37 }).reduce(function (preValue,n) {
38   return preValue + n
39 },0)
40
41 console.log(total2)
42
43 console.log("更简单写法")
44 let total3 = nums.filter(n => n < 30).map(n => n * 2).reduce((pre, n) => pre + n);
45 console.log(total3)

原文地址:https://www.cnblogs.com/zwnsyw/p/12299856.html

时间: 2024-10-11 03:16:33

ES6高阶函数:过滤器>>filter, map,reduce的相关文章

Python内置函数之filter map reduce

Python内置函数之filter map reduce 2013-06-04 Posted by yeho Python内置了一些非常有趣.有用的函数,如:filter.map.reduce,都是对一个集合进行处理,filter很容易理解用于过滤,map用于映射,reduce用于归并. 是Python列表方法的三架马车.1. filter函数的功能相当于过滤器.调用一个布尔函数bool_func来迭代遍历每个seq中的元素:返回一个使bool_seq返回值为true的元素的序列. >>>

高阶函数复习:利用reduce和map把字符串转为数字

复习高阶函数的时候,有一道题想了半天解不出来.看了下别人的解法,发现学习编程,思维真的很重要. 习题: 利用map和reduce编写一个str2float函数,把字符串'123.456'转换成浮点数123.456 解法及思路说明: from functools import reduce def str2float(s): s = s.split('.') #以小数点为分隔符,把字符串分为两部分 def f1(x,y): #函数1,小数点之前的数用这个函数处理 return x * 10 + y

Python学习(五)函数 —— 内置函数 lambda filter map reduce

Python 内置函数 lambda.filter.map.reduce Python 内置了一些比较特殊且实用的函数,使用这些能使你的代码简洁而易读. 下面对 Python 的 lambda.filter.map.reduce 进行初步的学习. lambda 匿名函数 lambda语句中,冒号前是参数,可以有多个,用逗号隔开,冒号右边的返回值. lambda语句构建的其实是一个函数对象,参考下例来感受下 lambda 匿名函数: 1 def f(i): # 用户自定义返回平方数 2 retur

Python中常用内置函数介绍(filter,map,reduce,apply,zip)

Python是一门很简洁,很优雅的语言,其很多内置函数结合起来使用,可以使用很少的代码来实现很多复杂的功能,如果同样的功能要让C/C++/Java来实现的话,可能会头大,其实Python是将复杂的数据结构隐藏在内置函数中,只要写出自己的业务逻辑Python会自动得出你想要的结果.这方面的内置函数主要有,filter,map,reduce,apply,结合匿名函数,列表解析一起使用,功能更加强大.使用内置函数最显而易见的好处是: 1. 速度快,使用内置函数,比普通的PYTHON实现,速度要快一倍左

python 高阶函数三 filter()和sorted()

一.filter()函数 filter()接收一个函数和一个序列.filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素. 1 >>> from collections import Iterator 2 >>> def is_odd(n): 3 ... return n % 2 == 1 4 ... 5 >>> it = filter(is_odd, [1, 2, 3, 4, 5, 6]) 6 &

python之有用的3个内置函数(filter/map/reduce)

这三个内置函数还是非常有用的,在工作中用的还不少,顺手,下面一一进行介绍 1.filter 语法:filter(function,iterable) 解释:把迭代器通过function函数进行过滤出想要的数据 用法:可以设置一个迭代器,然后把相同属性的元素过滤出来,如下所示 list1 = [1,2,3,4,5,6,7,8,9,10] listTemp = filter(lambda x:x%2==0,list1) 上面的意思是过滤出偶数(即被2整除的数),其中使用了匿名函数lambda,非常简

python的高级函数- lambda,filter,map,reduce

第一: 匿名函数---lambda的理解 第二:  filter函数的理解 第三: map函数的理解 第四:reduce函数的理解 原文地址:https://www.cnblogs.com/ivyharding/p/12382330.html

JavaScript高阶函数 map reduce filter sort

本文是笔者在看廖雪峰老师JavaScript教程时的个人总结 高阶函数 一个函数就接收另一个函数作为参数,这种函数就称之为高阶函数 1.高阶函数之map: 此时我们有一个数组和一个接受一个参数并返回一个数的函数.我们需要把这个数组的每一个值在这个函数上走一遍,从而得到一个新数组.此时就需要map了 var a = [1,2,3,4,5,6]; var b = [] var fun = function(x) { return x * x; } b = a.map(fun) alert(b)  /

python六十课——高阶函数之map

1.高阶函数: 特点:函数的形参位置必须接受一个函数对象 分类学习: 1).map(fn,lsd1,[lsd2...]): 参数一:fn --> 函数对象 参数二:lsd1 --> 序列对象(字符串.列表.range...) 功能: 将fn函数作用于lsd1中的每一个元素上, 将每次执行的结果存入到一个map对象中返回: [注意]得到的这个map对象是一个迭代器对象 需求:lt = ['1','2','3','4','5'] --> [1,2,3,4,5] map(int,lt):执行过