javascript – 对象没有方法’替换’

前端之家收集整理的这篇文章主要介绍了javascript – 对象没有方法’替换’前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试着运行这个函数,它将所有选中的复选框值抓取到逗号分隔的字符串中,并将“,”转换为“,”,因此它读起来更好.问题是我遇到了一个奇怪的错误
$('.name_Boxes').live('click',function() {
    var all_Boxes = $('.name_Boxes');
    var all_Boxes_values = []
    for (var i = 0; i < all_Boxes.length; i++) {
        if (all_Boxes[i].checked) {
            all_Boxes_values.push(all_Boxes[i].value)
        }
    }
    var all_Boxes_values_clean = all_Boxes_values.replace(/,/g,",");
    alert(all_Boxes_values_clean);
});

控制台错误说:

Uncaught TypeError: Object Aaron Ramsey,Aaron Renfree has no method ‘replace’.

我没有收到警报框.

这有点超出我的意思,任何人都可以解释我做错了什么吗?

解决方法

虽然alert(some_array)打印数组的字符串表示形式,但数组本身不是字符串.因此,它没有.replace.警报被强制将其转换为字符串,因为警报框只能显示字符.

但是,您可以使用自定义分隔符进行简单连接. join是数组的函数

var all_Boxes_values_clean = all_Boxes_values.join(",");

作为旁注,我建议console.log超过警报,因为它:

>显示实际的对象/数组而不是字符串表示(特别适用于对象而不是通过alert收到的无用的[object Object])>让您每次都关闭弹出窗口>跟踪其他日志,以便您拥有实际的日志日志

猜你在找的JavaScript相关文章