javascript高阶函数map和reduce

时间:2021-02-09 18:33:06

参考链接

  a.map(f):接收函数f作用在a的每一个元素上,就相当于一一映射。
  a.reduce(f):f函数必须有两个参数,执行该函数后将结果与a序列的下一个元素继续作函数f的运算。

练:1:不要使用JavaScript内置的parseInt()函数,利用map和reduce操作实现一个string2int()函数:

 1 'use strict';
2
3 function string2int(s) {
4 var arr=s.split("");
5 function f1(x){
6 return x-0;
7 }
8 var arr1=arr.map(f1);
9 function f2(x,y){
10 return 10*x+y;
11 }
12 return arr1.reduce(f2);
13
14 }

 

练习2:请把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字。输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']。

1 'use strict';
2
3 function normalize(arr) {
4 function f(x){
5 return x[0].toUpperCase()+x.slice(1).toLowerCase();
6 }
7 return arr.map(f);
8 }