为什么在我的函数 parseInt 中没有 return 我传递给它的字符串中的 0?
Why in my function parseInt doesn't return the 0 from the string I pass to it?
parseInt
当我在下面的函数中使用它时 return 不是 0 :
const getGuestsCount = guestsInput => {
if (parseInt(guestsInput)) {
return parseInt(guestsInput);
}
return 'not a number';
};
例如,getGuestsCount('0 we won\'t visit you!!');
returns“不是数字”
但是如果我们在函数外使用parseInt
就没问题了,
parseInt('0 we won\'t visit you!!');
returns 0 符合预期
由于 parseInt('0 we won\'t visit you!!')
的计算结果为 0
,您的 IF 条件为负,因此函数 returns not a number
.
也许您正在寻找 if (!isNaN(parseInt(str)) { ... }
?
const getGuestsCount = guestsInput => {
var guests = parseInt(guestsInput, 10);
if (!isNaN(guests)) {
return guests;
}
return NaN;
};
此外,检查 JavaScript 中的数字有点麻烦,您应该检查 Confusion between isNaN and Number.isNaN in javascript 和其他建议的资源以更好地理解问题。
parseInt
当我在下面的函数中使用它时 return 不是 0 :
const getGuestsCount = guestsInput => {
if (parseInt(guestsInput)) {
return parseInt(guestsInput);
}
return 'not a number';
};
例如,getGuestsCount('0 we won\'t visit you!!');
returns“不是数字”
但是如果我们在函数外使用parseInt
就没问题了,
parseInt('0 we won\'t visit you!!');
returns 0 符合预期
由于 parseInt('0 we won\'t visit you!!')
的计算结果为 0
,您的 IF 条件为负,因此函数 returns not a number
.
也许您正在寻找 if (!isNaN(parseInt(str)) { ... }
?
const getGuestsCount = guestsInput => {
var guests = parseInt(guestsInput, 10);
if (!isNaN(guests)) {
return guests;
}
return NaN;
};
此外,检查 JavaScript 中的数字有点麻烦,您应该检查 Confusion between isNaN and Number.isNaN in javascript 和其他建议的资源以更好地理解问题。