Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 迭代器中返回NaN的jquery映射数组_Javascript_Jquery - Fatal编程技术网

Javascript 迭代器中返回NaN的jquery映射数组

Javascript 迭代器中返回NaN的jquery映射数组,javascript,jquery,Javascript,Jquery,我试图解析这个复选框值数组并删除“N” 使用replace函数会产生错误TypeError:numberArr[i]。replace不是一个函数,如果我删除replace函数,脚本只会为我的值输出NaN 在这里拉小提琴 函数getAllocArray(){ var numberrar=$.map($('input:checkbox:checked'),函数(e,i){ return+e.value; }); var varOutput=''; for(变量i=0,len=numberrarr.

我试图解析这个复选框值数组并删除“N”

使用replace函数会产生错误TypeError:numberArr[i]。replace不是一个函数,如果我删除replace函数,脚本只会为我的值输出NaN

在这里拉小提琴


函数getAllocArray(){
var numberrar=$.map($('input:checkbox:checked'),函数(e,i){
return+e.value;
});
var varOutput='
    '; for(变量i=0,len=numberrarr.length;i”+numberrarr[i]。替换(/N/,“”)+“”; } varOutput+='
'; $('#output').text(varOutput); }; $(“#opts”)。在('click','input:checkbox',null,getAllocArray)上;
不要将值转换为
数字
。将
+e.value
替换为
e.value

 var numberArr = $.map($('input:checkbox:checked'), function (e, i) {
     return e.value;
 });

数字没有方法。

在本例中,您可以使用
parseInt(+e.value)
而不是
+e.value
parseInt('44N12345')
返回
44
,但
Number('44N12345')
返回NaN,因为存在字符串
N
试图转换类似“44N12345”的内容用
+
操作符作为数字的前缀,这就是给你的
NaN
。为什么不在映射中返回LI元素,而不是在同一事物上迭代两次呢?我现在觉得很愚蠢-o只需等待授权的11分钟即可接受您的超级快速回答!非常感谢。
 var numberArr = $.map($('input:checkbox:checked'), function (e, i) {
     return e.value;
 });