在JavaScript中的语句中嵌套…
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在JavaScript中的语句中嵌套…,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1717字,纯文字阅读大概需要3分钟。
内容图文
![在JavaScript中的语句中嵌套…](/upload/InfoBanner/zyjiaocheng/760/0ea6256bb75d4229ac15dd2f70e406ef.jpg)
我正在尝试在Codecademy中学习JavaScript,其中一个简单的提到是“for in”循环.我在一些练习中使用过它们,但在这种情况下,我无法让它工作.我可以用(i =等等;等等),但我想知道这有什么问题,如果有办法解决它:
//Your three dimensional array from the last exercise probably
//looked something like this:
var hands = [];
hands[0] = [ [3,"H"], ["A","S"], [1,"D"], ["J","H"], ["Q","D"] ];
hands[1] = [ [9,"C"], [6,"C"], ["K","H"], [3,"C"], ["K","H"] ];
//Loop over every dimension in the array, logging out the suit and rank
//of each card in both hands
//1. loop over each hand
for (var hand in hands) {
//2. loop over each card array in each hand
for (var card in hand) {
//3. loop over each rank/suit array for each card in each hand
for (var prop in card) {
//4. log the value of the rank/suit array item
console.log(card[prop]);
}
}
}
输出为0 0 0,而不是数字和套装.我尝试在第一个和第二个循环之后放置console.log(),我发现它在第一个循环中正常工作,但在第二个循环中没有正常工作.
解决方法:
暂时忽略for-in问题,你的内部循环应该看起来像这样……
for (var hand in hands) {
for (var card in hands[hand]) {
for (var prop in hands[hand][card]) {
console.log(hands[hand][card][prop]);
}
}
}
请注意,每个内部循环都需要显式引用其外部循环的当前值.您正在迭代键(变换之前的变量).
要正确处理数组,你应该几乎总是使用for循环而不是for-in.
for (var i = 0; i < hands.length; i++) {
for (var j = 0; j < hands[i].length; j++) {
for (var k = 0; k < hands[i][j].length; k++) {
console.log(hands[i][j][k]);
}
}
}
这有几个原因,您可以在StackOverflow上找到它.
为了增加代码的清晰度,您可以将当前项缓存在变量中……
for (var i = 0; i < hands.length; i++) {
var hand = hands[i]
for (var j = 0; j < hand.length; j++) {
var cards = hand[j];
for (var k = 0; k < cards.length; k++) {
console.log(cards[k]);
}
}
}
内容总结
以上是互联网集市为您收集整理的在JavaScript中的语句中嵌套…全部内容,希望文章能够帮你解决在JavaScript中的语句中嵌套…所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。