3-JavaScript-高级函数 map和reduce函数的理解

  • map&reduce

第一题

'use strict';

function product(arr) {

    return arr.reduce(function(x,y){
    return x*y;

})

}

第二题

'use strict';

function string2int(s) {

//split()分割字符串返回的是一个数组;
var arr = s.split('');
return arr.map(function(x){
      //js的弱类型转换,‘-’会将字符串转变为数字,
      //x (乘) 1也是一个道理,但这样为何不直接return s (乘) 1呢;
      return x-0;
}).reduce(function a(x,y){
   return x*10+y;
});
}

第三题

'use strict';

function normalize(arr) {

    return arr.map(function(s){
    return s = s[0].toUpperCase()+s.substring().toLowerCase();
})

}

第四题

'use strict';

var arr = ['1', '2', '3'];
var r;

function returnInt(element){
   return parseInt(element,10)
}
r = arr.map(returnInt);
​
alert('[' + r[0] + ', ' + r[1] + ', ' + r[2] + ']');

你可能感兴趣的:(3-JavaScript-高级函数 map和reduce函数的理解)