Discuss / JavaScript / AMSWER

AMSWER

Topic source

RayYu03

#1 Created at ... [Delete] [Delete and Lock User]

1.

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

2.


var arr = s.split();

return arr.map(function (x){return +x;}).reduce(function (x,y){return x*10+y;})

3.

return arr.map(function (x){var tail = x.substring(1).toLowerCase();var head = x[0].toUpperCase();return head + tail;})

4.

r = arr.map(function (x){return +x;});

实例:一个字符串13579先变成Array——[1, 3, 5, 7, 9],再利用reduce()就可以写出一个把字符串转换为Number的函数。

实现把字符串变成数组(数字型的)

//利用运行符v*1 把字符变为数字

function string2int(s) {
   var arr = Array.prototype.map.call(s,function(v,i){ return v*1});  
   return arr.reduce(function(x,y) { return x*10+y});
}

实例:输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart']

//利用字符串相加衔接

function normalize(arr) {
    return arr.map(function(v,i) {
    return v.substring(0,1).toUpperCase()+v.substring(1).toLowerCase();
    })
}

return +(s.split().reduce(function(x,y){return (x*10)+y;})); 雪峰大人,我把MAP玩丢了

不应该用+x,如果可以这样用,那么根本不需要什么map和reduce函数。直接: function string2int(s){ return +s; //即可。 }


  • 1

Reply