函数式编程Map()&Reduce()
.forEach():每个元素都调用指定函数,可传三个参数:数组元素丶元素索引丶数组本身丶 var a = [, , , , , , , ];
a.forEach(function(v,i,a){a[i]=v+;});
console.log(a); //[2, 3, 4, 5, 6, 7, 8, 9] .map():每个元素传递给指定函数,并返回该数组 var b = [, , , , , , , ];
console.log( b.map(function(x){return x*x}) ); //[1, 4, 9, 16, 25, 36, 49, 64] .filter():用于筛选数组里的元素 并返回满足的子集 var c = [, , , , , , , ];
console.log( c.filter(function(x){return x>}) ); //[6, 7, 8]
console.log( c.filter(function(x,i){return i%==}) ); //这里返回索引为偶数的数组元素 .every(),some():用于判断(全部/部分)数组里的元素 并返回bool var d = [, , , , , , , ];
console.log( d.every(function(x){return x>}) ); //false
console.log( d.some(function(x){return x>}) ); //true .reduce():用指定函数将数组元素进行组合 生成并返回单个值 var e = [, , , , , , , ];
console.log( e.reduce(function(x,y){return x+y},)); //36 这里的0为传递给函数的初始值
/*
这里内部运行方法为:
0+1=1;1+2=3;3+3=6;6+4=10;10+5=15;15+6=21;21+7=28;28+8=36;
*/
使用函数处理数组: /*1.计算平均值和标准差 */
var sumFun = function(x,y){return x+y};
var squFun = function(x){return x}; var f = [, , , , , , , ];
var avergae = f.reduce(sumFun)/f.length;
console.log("平均值为:"+avergae); //4.5
var devitation = f.map(function(x){return x-avergae})
console.log("平均值差数组:"+devitation); //-3.5,-2.5,-1.5,-0.5,0.5,1.5,2.5,3.5 高阶函数: 后面的还没看…待续…
函数式编程Map()&Reduce()的更多相关文章
- Python的函数式编程: map, reduce, sorted, filter, lambda
Python的函数式编程 摘录: Python对函数式编程提供部分支持.由于Python允许使用变量,因此,Python不是纯函数式编程语言. 函数是Python内建支持的一种封装,我们通过把大段代码 ...
- Python函数式编程-map/reduce
1.map map()传入的第一个参数是f,即函数对象本身. map()函数接收两个参数,一个是函数,一个是Interable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterat ...
- (转)Python函数式编程——map()、reduce()
转自:http://www.jianshu.com/p/7fe3408e6048 1.map(func,seq1[,seq2...]) Python 函数式编程中的map()函数是将func作用于se ...
- Python函数式编程——map()、reduce()
文章来源:http://www.pythoner.com/46.html 提起map和reduce想必大家并不陌生,Google公司2003年提出了一个名为MapReduce的编程模型[1],用于处理 ...
- 1.python函数式编程-map函数
编程方法论 面向过程 函数式 面向对象 面向过程 将编程过程拆分成多个步骤,在函数中按照每个步骤进行编程: 函数式编程 编程语言定义的函数+数学意义的函数 1.不可变,不用变量保存状态,不修改变量: ...
- Python-函数式编程-map reduce filter lambda 三元表达式 闭包
lambda 匿名函数,核心是作为算子,处理逻辑只有一行但具有函数的特性,核心用于函数式编程中 三元运算符 其实本质上是if分支的简化版,满足条件返回 if 前面的值,不满足条件返回 else后面的值 ...
- [五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用
reduce-归约 看下词典翻译: 好的命名是自解释的 reduce的方法取得就是其中归纳的含义 java8 流相关的操作中,我们把它理解 "累加器",之所以加引号是因为他并不仅仅 ...
- Python(十) 函数式编程: 匿名函数、高阶函数、装饰器
一.lambda表达式 lambda parameter_list: expression # 匿名函数 def add(x,y): return x+y print(add(1,2)) f = la ...
- 【函数式编程】reducer为什么叫reducer
最近学习前端的技术,在了解react对DOM的组件抽象,但不提供整体的组件通讯时候,了解了redux,然后就是react-redux: 抽象后,视图完全由对象决定,而用户只能接触视图,所以对象的改变必 ...
随机推荐
- Centos6.4编译安装Node.js(已验证)
1.准备源文件包 [felix@MyTerminal Downloads]$ mv node-6.5.0 node [felix@MyTerminal Downloads]$ ls node node ...
- 5.AsyncHttp、post
httpClient // 网络访问请求 new Thread(new Runnable() { @Override public void run() { String url = "ht ...
- 2016.6.13 php与MySQL数据库交互之数据库中的商品信息展示
<table width="550" border="2" align="center" cellpadding="0&qu ...
- 记忆化搜索(DP+DFS) URAL 1183 Brackets Sequence
题目传送门 /* 记忆化搜索(DP+DFS):dp[i][j] 表示第i到第j个字符,最少要加多少个括号 dp[x][x] = 1 一定要加一个括号:dp[x][y] = 0, x > y; 当 ...
- Log4Net 配置StmpAppender
目录 Log4Net 配置StmpAppender 1 1.前言 1 2.详细配置 1 1.StmpAppender配置 1 2.Root 配置 2 3.更多选项 ...
- 素数环问题[XDU1010]
Problem 1010 - 素数环问题 Time Limit: 1000MS Memory Limit: 65536KB Difficulty: Total Submit: 972 Acc ...
- 游戏 tabpanel
using UnityEngine; using System.Collections; public class La : MonoBehaviour { private int select; p ...
- 分类 kNN
#coding=utf-8 from numpy import * import operator from os import listdir import matplotlib import ma ...
- BZOJ3941 : [Usaco2015 Feb]Fencing the Herd
若所有点同侧则表明将各个点带入直线解析式ax+by-c后得到的值均同号等价于最大值和最小值同号考虑CDQ分治,每一步分治的过程中求出上下凸壳,然后三分答案即可时间复杂度$O(n\log^2n)$ #i ...
- Insert Function before and after main function
Source code: 1: #include<stdio.h> 2: void myStartupFun (void) __attribute__ ((constructor)); 3 ...