背景:随机输入一个一个值,可能是字符串,可能是浮点数,可能是特殊符号,需要判断输入的值是不是整数;
// 判断是否是整数
function isInteger(obj) {
let isInt = false;
if(String(parseInt(obj)) == 'NaN') {
// 字符串
isInt = false;
} else {
if(parseInt(obj) == obj) {
isInt = true;
} else {
isInt = false;
}
}
return isInt
}
解析:
1、先判断是不是全都是字符串
String(parseInt(obj)) == 'NaN'
2、当 String(parseInt(obj)) != 'NaN' 的时候,还剩几种情况
- "123abc"
- "1.2"
- 123
- “123”
- ...
这时候直接判断 parseInt()后是否和自身相等就好了,相等就是整数;
if(parseInt(obj) == obj) {
isInt = true;
} else {
isInt = false;
}