-
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] + ']');