Discuss / JavaScript / 关于 reduce的几道例题

关于 reduce的几道例题

Topic source

theway85958

#1 Created at ... [Delete] [Delete and Lock User]
//1.利用reduce()求积

function product(arr) {

    //product乘积;multiply相乘
    function multiply(product, nextElement) {
        console.log(product + ' ' + nextElement);
        return product * nextElement;
    }

    var w = arr.reduce(multiply);
    console.log(w);
    return w;

}

//2.把字符串13579变成Array——[1, 3, 5, 7, 9],再将array转换成number整数。不使用JavaScript内置的parseInt()函数

function string2int(s) {

    var arr = [];
    //把字符串中的字符放入数组中
    for(var c of s){
        arr.push(c);
    }  

    console.log(arr);

    //字符转成数值
    //ASCII码,数字字符的ASCII码 - '0'的ASCII码值 = 数字字符的数值
    //可以换成var brr = arr.map(Number);
    var brr = arr.map(function(x){
        return x-'0';
    })

    console.log(brr);

    //数组转成整数
    var c = brr.reduce(function(x, y) {
        return x * 10 + y;
    });

    console.log(c);

    return c;

}

//3.把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字

function normalize(arr) {

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

    return brr;

}

  • 1

Reply