javascript - 无效的字符串长度/分配大小重载 JavaScript

标签 javascript jquery arrays string

我有一系列复选框,检查它们是否已被选中,如果有,则将字符串添加到数组中。然后我循环遍历字符串数组,并将数组中的字符串添加到以逗号分隔的新字符串中。不幸的是,这总是会导致错误。在 Chrome 中,控制台显示“无效的字符串长度”。在 Firefox 中,错误显示为“分配大小溢出”。

JavaScript:

// Compile List of Interests
interests = new Array();
if ( $("input[name=interestRoofing]").is(':checked') == true ) interests.push("Roofing");
if ( $("input[name=interestSiding]").is(':checked') == true ) interests.push("Siding");
if ( $("input[name=interestGutters]").is(':checked') == true ) interests.push("Gutters");
if ( $("input[name=interestWindows]").is(':checked') == true ) interests.push("Windows");
if ( $("input[name=interestPaint]").is(':checked') == true ) interests.push("Exterior Paint");
interestsString = "";
for ( i = 0; i < interests.length; i++ ) { // "Invalid String Length" in Chrome on This Line
    interestsString = interestsString + interests[i]; // "Allocation Size Overload" in Firefox on This Line
    if ( i < interests.length - 2 ) interestsString += ", ";
    if ( i = interests.length - 2 ) interestsString += "and ";
}

HTML:

<p>Interested In:</p>
<p><input type="checkbox" name="interestRoofing" value="">Roofing</p>
<p><input type="checkbox" name="interestSiding" value="">Siding</p>
<p><input type="checkbox" name="interestGutters" value="">Gutters</p>
<p><input type="checkbox" name="interestWindows" value="">Windows</p>
<p><input type="checkbox" name="interestPaint" value="">Exterior Paint</p>

我确信无论发生什么问题,当我看到它时都会打我的脸,但我已经整天坐在这个问题上,还没有找到解决方案。显然这里有一些我没有看到的东西。任何帮助将非常感激。奇怪的是,Internet Explorer 中的控制台没有输出任何内容,就好像没有发生任何问题一样。 我可以通过在 for 循环检查的开头添加 if 语句以确保数组的长度不为 0 来消除 Chrome 的无效字符串长度错误。但是,Firefox 中的错误仍然存​​在,因此这不能是解决方案.

最佳答案

if ( i = interests.length - 2 ) interestsString += "and ";

您正在这里做作业。您可能是想进行比较。

关于javascript - 无效的字符串长度/分配大小重载 JavaScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25586981/

相关文章:

java - 交换二维数组行

arrays - 在二维网格上的同一单元格中查找粒子

c# - Dropzone,如何提交包含数据和多张图片的表单?

javascript - 服务器不断得到旧结果

javascript - JQuery: append 到在另一个函数中创建的元素

javascript - 如何使用javascript按组对数组进行排序?

javascript - 监视 jasmine 中的 jquery ui 小部件

javascript - 如何使用每列单独的滚动条创建两列布局

javascript - 即使 unconsumedBufferLength 为 0,DataReader.loadAsync 也正在完成

java - Java 中的 2D Int 数组反转