我有以下数组:
var text = [
"RISE AND SHINE, JONATHON! HMM, ",
"THAT'S A MOUTHFUL, HOW ABOUT ",
"I JUST CALL YOU JOHN? MY ",
"NAME IS PROFESSOR ",
"PHIL. I BUILT YOU FROM ",
"SCRATCH. I WANT TO TELL YOU ",
"A LITTLE STORY BEFORE WE START."
];
然后我循环遍历数组:
for (var i = 0; i < 3; i++) {
this.font.draw(text[i]);
}
这显然输出:
RISE AND SHINE, JONATHON! HMM,
THAT'S A MOUTHFUL, HOW ABOUT
I JUST CALL YOU JOHN? MY
我需要帮助的是创建一个函数,该函数将迭代接下来的 3 行然后显示:
NAME IS PROFESSOR
PHIL. I BUILT YOU FROM
SCRATCH. I WANT TO TELL YOU
..等等。
这是我为 JavaScript/HTML5 游戏编写的聊天气泡代码,其中我的聊天对话在任何给定时间仅容纳 3 行文本。
一旦对话到达最后一句话。我希望它从头开始。
最佳答案
如果我理解正确的话,你可以做的就是备份你的数组并拼接
它直到所有行都被读取。换句话说:
var textOut = text,
len = text.length / 3,
i = 0;
for ( ; i < len; i++ ) {
setTimeout(function() {
console.log( textOut.splice(0, 3).join(' ') );
}, i*1000 );
}
上面将每秒记录 3 行,直到读取所有行。
顺便说一句,您不需要每个字符串末尾的空格,因为您可以使用带有空格的join
。
关于javascript - 迭代数组中的 3 个项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13216530/