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

'use strict';

function string2int(s) {
  var s_arr = [];
  for(let i = 0; i < s.length; i++) {
    s_arr.push(s[i]);
}
  var int_arr = s_arr.map(function(x) {
    return +x;
});
  
  return int_arr.reduce(function(x,y) {
    return x*10 + y;
});

}

// 测试:
if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
    if (string2int.toString().indexOf('parseInt') !== -1) {
        console.log('请勿使用parseInt()!');
    } else if (string2int.toString().indexOf('Number') !== -1) {
        console.log('请勿使用Number()!');
    } else {
        console.log('测试通过!');
    }
}
else {
    console.log('测试失败!');
}

 

你可能感兴趣的:(JavaScript)