jquery map 数组在迭代器中返回 NaN

jquery map array returning NaN in iterator

本文关键字:返回 NaN 迭代器 map 数组 jquery      更新时间:2023-09-26

>我正在尝试解析此复选框值数组并删除"N"。

使用 replace 函数

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

在这里摆弄 http://jsfiddle.net/j0w5tkg9/3/

<div id='opts'>
    <input type="checkbox" data-cost="0" value="44N12345" name="options[]">
    <input type="checkbox" data-cost="0" value="55N6789" name="options[]">
</div>
<div id='output'></div>

 function getAllocArray() {
     var numberArr = $.map($('input:checkbox:checked'), function (e, i) {
         return +e.value;
     });
     var varOutput = '<ul>';
     for (var i = 0, len = numberArr.length; i < len; i++) {
         varOutput += "<li>" + numberArr[i].replace(/N/,'') + "</li>";
     }
     varOutput += '</ul>';
     $('#output').text(varOutput);
 };
 $('#opts').on('click', 'input:checkbox', null, getAllocArray);

不要将值转换为Number 。将+e.value替换为e.value

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

数字没有replace方法。