如何退出内部for..in循环并允许外部for..in循环继续。

时间:2015-10-09 07:22:09

标签: javascript arrays

如果假设我有以下程序:

for(var char in elem_text_ary) {
            //console.log(elem_text_ary[char].charAt(0));

            for(var desired_chars in desired_Chars){
                if(elem_text_ary[char].charAt(0) === desired_Chars[desired_chars].toUpperCase()) {
                     console.log(elem_text_ary[char].charAt(0));  
                     heading_arr.push( '<span>' + elem_text_ary[char].charAt(0) + '</span>' + elem_text_ary[char].slice(1 , elem_text_ary[char].length) );
                    console.log(heading_arr);
                    /*return;*/
                }  else {
                    heading_arr.push( elem_text_ary[char].slice(0 , elem_text_ary[char].length ));
                    /*return;*/
                }
            } // end for in loop
            //return false;
        } // end for in loop;

现在看看有两个for in,现在假设我在第二个找到了我想要的东西......,I.E。如果满足ifelse条件,我如何退出内部for..in循环并告诉外部for..in循环继续?

谢谢。

亚历-Z。

2 个答案:

答案 0 :(得分:1)

使用break中断for循环。这是几乎所有语言中的常用关键字。

请注意,如果您正在考虑中断for循环,那么您可以将内部for循环重构为函数调用。

答案 1 :(得分:1)

您可以使用break语句继续外循环:

for(var char in elem_text_ary)
    for (var desired_chars in desired_Chars) {
        if (i === 3) { break; }
    }

但是,您可能不应该使用for in on an array