想辦法把一個字符串13579先變成Array——[1, 3, 5, 7, 9],再利用reduce()就可以寫出一個把字符串轉(zhuǎn)換為Number的函數(shù)肉微。
練習:不要使用JavaScript內(nèi)置的parseInt()函數(shù)旗闽,利用map和reduce操作實現(xiàn)一個string2int()函數(shù):
'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('測試失敗!');
}
感謝查看
奉上福利一枚
http://note.youdao.com/noteshare?id=a2558c7afd02fa55ff9814fd429c8884&sub=69B8AAF714104B5DA168E9D17B53C682