刷LeetCode,点击难度排行,排第一的题目是Valid Number,通过率12%,看来大家对js的力量一无所知。
Validate if a given string is numeric.
Some examples:
“0” => true
" 0.1 " => true
“abc” => false
“1 a” => false
“2e10” => true
Note: It is intended for the problem statement to be ambiguous. You should gather all requirements up front before implementing one
翻译过来就是:验证某个字符串能否转化成数字 ‘2e10’这种属于是科学记数法。
用javascript来解这题很简单。因为js内置有Number这个构造函数。
function isNumber (s) {
var ss = (s || '').replace(/\s/g,'');
if (ss === '') return false;
return !isNaN(new Number(s));
};
这里指考虑了输入是字符串的情况,Number会把空格字符串转化为0,此外比较特殊的是null和[]也会被转化成0;