当值 = 0 时,javascript parseInt

标签 javascript jquery

我正在使用 jquery.grep 来清理字符串并仅返回数字。

这是我的:

var TheInputArray = TheInput.slice();
var TheCleanInput = jQuery.grep(TheInputArray, function (a) {
  return parseInt(a, 10);
});

我将一个字符串拆分成一个数组,然后使用 parseInt 函数检查它是否是一个数字。问题是当 a 的值为 0 时,它会跳过该元素。我需要做哪些更改才能使此代码正常工作?

谢谢。

最佳答案

不幸的是,Javascript 中的 0 是假的。因此,您需要确保返回值为 true,即使是 0

var TheInputArray = TheInput.slice();
var TheCleanInput = jQuery.grep(TheInputArray, function (a) {
  return ! isNaN(parseInt(a, 10));
});

parseInt 如果未能解析输入,则返回 NaN(不是数字)。如果参数是 NaNisNan() 将返回 true。所以这应该可以帮助您发现这种情况。

关于当值 = 0 时,javascript parseInt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8160304/

相关文章:

c# - Ajax 完整功能问题

javascript - 如何设置元素的标题属性而不仅仅是字符串?

javascript - 使固定侧边栏内的内容可滚动

javascript - 清除输入值然后聚焦

javascript - JQuery Shake Breaking 脚本和垂直对齐不起作用

javascript - 将一个对象分配给另一个变量

javascript - 访问热键对象中的选定文本

javascript - 当您将 'print' 发送到屏幕时,如何更改对象属性名称

javascript - 用于更改 NVM Node 版本的 Bash 脚本

javascript - dojotoolkit : XMLHttpRequest cannot load file