我正在练习如何执行for / while循环,但似乎无法理解如何将for循环转换为while循环。
这是for循环:
for(var i = 0; i < buttonsDefault.buttons.length; i++) {
$('body').append("<button>" + buttonsDefault.buttons[i] + "</button>")
}
我如何使其成为while循环?
while (buttonsDefault.buttons.length > i) {
$('body').append("<button>" + buttonsDefault.buttons[i] + "</button></div>")
}
谢谢。
答案 0 :(得分:1)
在此i
循环中,您需要自己管理while
的增量。当您这样做时,它看起来很像for
循环:
let i = 0; // start at 0
while(i < buttonsDefault.buttons.length) { // while it's in range
$('body').append("<button>" + buttonsDefault.buttons[i] + "</button>")
i++ // increment
}
如果您查看while
循环的结构,就会发现与for
循环的第一行的结构相似,并希望理解人们为什么更喜欢使用{{1 }}在这种情况下。
当然,当您使用javascript时,您会发现还有很多其他方法可以遍历数组。
答案 1 :(得分:0)
您也可以使用pop
使其更短:
如果buttonsDefault.buttons
是数组:
while( button = buttonsDefault.buttons.pop() ) {
$('body').append("<button>" + button + "</button>")
}
或者使用buttonsDefault.buttons
组成一个数组,以防其成为jQuery 集合:
var buttons = [...buttonsDefault.buttons]; // spread
while( button = buttons.pop() ) {
$('body').append("<button>" + button + "</button>")
}