Javascript 为什么$.isnumeric为false

Javascript 为什么$.isnumeric为false,javascript,jquery,Javascript,Jquery,我正在编写一些JavaScript,我有一个表,需要在其中测试一个字段是否有数据库键(数字)或默认值(“不匹配”)。我正在尝试使用jQuery函数“isNumeric” 代码是: var id = $('#myDataTable input:checked').map(function(){ return $(this).closest('tr').find('td:eq(3)').text(); }).get(); console.log(" ID "+id); console.l

我正在编写一些JavaScript,我有一个表,需要在其中测试一个字段是否有数据库键(数字)或默认值(“不匹配”)。我正在尝试使用jQuery函数“isNumeric”

代码是:

var id = $('#myDataTable input:checked').map(function(){
     return $(this).closest('tr').find('td:eq(3)').text();
}).get();

console.log(" ID "+id);
console.log(" ID2 "+$.isNumeric(id));
在我的控制台中,我看到:

ID 1
ID2 false
为什么不是这样?

.get()
返回非数字数组
[“1”]

当您将它登录到控制台时,您看不到这一点,因为您使用字符串连接它,并且
[“1”].toString()
“1”

相反,在调试时,最好避免将变量强制为其他类型
console.log(“ID”,ID)
会更好

要获取字符串而不是数组,可以使用
.get(0)
[0]

但是,如果您只对第一个字符串感兴趣,那么使用
map

var id = $('#myDataTable input:checked').eq(0)
         .closest('tr').find('td').eq(3)
         .text();


.get()
返回一个数组,尝试使用
id[0]
首先尝试修剪字符串调试时,不要将变量与字符串串联起来!如果您使用了
console.log(“ID”,ID)
您将看到
[“1”]
而不是
“1”
。感谢您的详细解释。