想办法把一个字符串13579先变成Array——[1, 3, 5

2017-05-09  本文已影响913人  小y哥哥

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

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

'use strict';

function string2int(s) {

return s.split('').map(
function(x){
return x.charCodeAt(0) - '0'.charCodeAt(0);
}
).reduce(
function(x, y){
return x*10+y;
}
);
}

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

上一篇 下一篇

猜你喜欢

热点阅读