Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/468.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/69.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 数组数组:无限循环_Javascript_Jquery_Arrays - Fatal编程技术网

Javascript 数组数组:无限循环

Javascript 数组数组:无限循环,javascript,jquery,arrays,Javascript,Jquery,Arrays,我使用javascript和jQuery动态添加/删除元素。由于某些原因,我的内部For循环没有退出。计数器继续爬升超过阵列长度,并继续添加元素,直到浏览器崩溃。在Firefox调试器中单步执行时,groupList[i]。length显示正确的值 知道为什么内部循环从不返回false吗 var $j = jQuery.noConflict(); // array of arrays var groupList = []; groupList[groupList.length] = ["Jap

我使用javascript和jQuery动态添加/删除元素。由于某些原因,我的内部For循环没有退出。计数器继续爬升超过阵列长度,并继续添加元素,直到浏览器崩溃。在Firefox调试器中单步执行时,
groupList[i]。length
显示正确的值

知道为什么内部循环从不返回false吗

var $j = jQuery.noConflict();

// array of arrays
var groupList = [];
groupList[groupList.length] = ["Japan", "Honda", "Toyota", "Nissan"];
groupList[groupList.length] = ["America", "Ford", "Dodge", "Chevrolet"];

// loop that creates a radio button from the first element in each array
for (var i = 0; i < groupList.length; ++i) {
    $j("#groupBtns").append("<label class=\"btn btn-primary active\" id=\"btn" + 
        groupList[i][0] + "\"><input type=\"radio\">" + groupList[i][0] + "</label>");
}

// function to add second group of radio button for remaining elements in selected array
function groupClick(group) {
    for (var i = 0; i < groupList.length; ++i) {
        if (group == groupList[i][0]) {
            // -- this is the infinite loop -- //
            for (var o = 1; 0 < groupList[i].length; ++o) {
                $j("#subGroupBtns").append("<label id=\"btn" + groupList[i][o] + 
                    "\" class=\"btn btn-primary\"><input type=\"radio\">" + 
                    groupList[i][o] + "</label>");
            }
        }
    }
}

// event listener
$j("#groupBtns").on('click', function (e) {
    groupClick($j(e.target).text())
});
var$j=jQuery.noConflict();
//数组的数组
var-groupList=[];
groupList[groupList.length]=[“日本”、“本田”、“丰田”、“日产”];
groupList[groupList.length]=[“美国”、“福特”、“道奇”、“雪佛兰”];
//从每个数组中的第一个元素创建单选按钮的循环
对于(变量i=0;i
注意:数组的长度并不总是相同的,因此我不能为循环使用静态终止符。

您有一个输入错误:

for (var o = 1; 0 < groupList[i].length; ++o) {
for(var o=1;0
您正在执行
0
,如果有长度,则结果总是true

应该是:

for (var o = 1; o < groupList[i].length; ++o) {
for(var o=1;o
使用字母“o”作为变量名是相当危险的,因为它看起来很像数字0。(提示)在嵌套循环中使用“o”作为变量绝对是正确的。“0”和“o”看起来太相似,键盘上的距离太近。