gpt4 book ai didi

javascript - 对象没有方法 'replace'

转载 作者:数据小太阳 更新时间:2023-10-29 05:00:28 24 4
gpt4 key购买 nike

我尝试运行这个函数,它将所有选中的复选框值抓取到逗号分隔的字符串中,并将 "," 转换为 ", " , 所以它读起来更好。问题是我遇到了一个奇怪的错误:

$('.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) 打印数组的字符串表示,但数组本身不是字符串。因此,它没有 .replacealert 被强制转换成字符串,因为alert框只能显示字符。

不过,您可以简单地使用自定义分隔符加入。 join 是数组的函数:

var all_boxes_values_clean = all_boxes_values.join(", ");

作为旁注,我建议使用 console.log 而不是 alert,因为它:

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

关于javascript - 对象没有方法 'replace',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385767/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com