20170711_map/reduce

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了20170711_map/reduce相关的知识,希望对你有一定的参考价值。

js:

map:

var arr = [1,2,3,4,5];

var res = arr.map(function(x){

  return x * x;

});

//res 现在 = [1,4,9,16,25];

这种写法等同于下面一种写法

function f(x){

  return x * x;

}

var res = arr.map(f);

//这里会直接调用f方法,也可以条用js内置的别的方法如String,使arr里的数字变成字符串。

reduce:

var arr = [1,2,3,4,5];

var res = arr.reduce(function(x,y){

  return x * y;

});

//res现在 = (((1*2)*3)*4)*5; 120


php:

$arr = array(1,2,3,4,5);

map:

$mapres = array_map(function($x){

  return $x * $x;

},$arr);

//$mapres = array(1,4,9,16,25);

reduce:

$midkey = 1;//这里的midkey是一个中间值,保存计算结果 如果$midkey没有填写则默认为0

$reduceres = array_reduce(function($x,$y){

  return $x * $y;

},$arr,$midkey);

//$resuceres = (1*2*3*4*5); 120

php同样可以使用js那样的第二种方式

map:

function f($x){

  return $x * $x;

}

$mapres = array_map(‘f‘,$arr);//和上面那个map相同

 

map(‘function name‘,array)  第一个参数是函数名 第二个是数组 

 

map和reduce应该效率比foreach高吧?

 

以上是关于20170711_map/reduce的主要内容,如果未能解决你的问题,请参考以下文章

20170711xlVBA批量制图一例

设计模式之单例模式20170711

20170711 通过阿里云与国家气象局合作的api读取历史辐照数据

shell 获取不同目录下指定文件,并把文件复制到一个文件夹下面

Xcode清理存储空间

docker managed volume - 每天5分钟玩转 Docker 容器技术(40)