在Javascript中嵌套循环的最佳方法是什么?
在Javascript中嵌套循环的最佳方式是什么?
//Write the links to the page.
for (var x = 0; x < Args.length; x++)
{
for (var Heading in Navigation.Headings)
{
for (var Item in Navigation.Headings[Heading])
{
if (Args[x] == Navigation.Headings[Heading][Item].Name)
{
document.write("<a href=""
+ Navigation.Headings[Heading][Item].URL + "">"
+ Navigation.Headings[Heading][Item].Name + "</a> : ");
break; // <---HERE, I need to break out of two loops.
}
}
}
}
就像Perl一样,
loop1:
for (var i in set1) {
loop2:
for (var j in set2) {
loop3:
for (var k in set3) {
break loop2; // breaks out of loop3 and loop2
}
}
}
如EMCA-262第12.12节中所定义。 [MDN文件]
与C不同,这些标签只能用于continue
和break
,因为Javascript没有goto
。
把它放在一个函数中,然后return
。
我对晚会有点迟,但以下是不使用GOTO /标签或功能包装的与语言无关的方法:
for (var x = Set1.length; x > 0; x--)
{
for (var y = Set2.length; y > 0; y--)
{
for (var z = Set3.length; z > 0; z--)
{
z = y = -1; // terminates second loop
// z = y = x = -1; // terminate first loop
}
}
}
它的优点是它自然流动,应该让非GOTO人群满意。 不利的一面是,内部循环需要在终止之前完成当前迭代,因此在某些情况下可能不适用。
链接地址: http://www.djcxy.com/p/6181.html