来自廖雪峰的javascript教程
把一个字符串13579
先变成Array
——[1, 3, 5, 7, 9]
,再利用reduce()
就可以写出一个把字符串转换为Number
的函数。
我用了3种实现方法:
1.不用 JavaScript内置的函数,利用js弱变量类型,对字符串做运算,js自动将字符串转换为数字。
function string2int(s) {
var m=s.split("");
function toInt(zm){
return +zm;
}
var n=m.map(toInt);
return n.reduce(function(x,y){
return x*10+y;
})
}
if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
console.log('测试通过!');
}else {
console.log('测试失败!');
}
2.利用JavaScript内置函数Number()
function string2int(s) {
var m=s.split("");
var n=m.map(Number);
return n.reduce(function(x,y){
return x*10+y;
})
}
if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
console.log('测试通过!');
}else {
console.log('测试失败!');
}
- 利用JavaScript内置函数
parseInt()
function string2int(s) {
var m=s.split("");
var n = m.map(function(val){
return parseInt(val);
});
return n.reduce(function(x,y){
return x*10+y;
})
}
if (string2int('0') === 0 && string2int('12345') === 12345 && string2int('12300') === 12300) {
console.log('测试通过!');
}else {
console.log('测试失败!');
}
遇到更简便的方法后再来补充吧