我希望代码在第一次点击时说出第一个单词,在第二次点击时说出第二个单词

时间:2019-05-10 23:31:53

标签: javascript arrays function

我希望代码在第一次点击时说出第一个单词,在第二次点击时说出第二个单词

代码如下:

var hola = false;
var plus = 0;
var words = ['hola', 'como', 'esta']

function draw() {
  class mouse {
    click() {
      if (mouseIsPressed) {
        plus = plus + 1
      }
    }
  }
  if (mouseIsPressed) {
    textSize(50);
    text(words[0], mouseX, mouseY, 50);
  }
}

2 个答案:

答案 0 :(得分:1)

您可以将数组用作FIFO数据结构(在这里我称之为队列)。

通过使用.shift(),您可以弹出该集合中的第一个元素,以进行打印,然后继续执行直到该集合为空。 (您将需要处理尝试弹出一个空对象的情况。)

var hola = false;
var plus = 0;
var wordsQueue = ['hola', 'como', 'esta']

function draw() {
  class mouse {
    click() {
      if (mouseIsPressed) {
        plus = plus + 1
      }
    }
  }
  if (mouseIsPressed) {
    textSize(50);
    alert(wordsQueue.shift()); //removes head of queue
  }
}

答案 1 :(得分:0)

只需使用plus来访问数组中的每个元素:

var plus = 0;
var words = ['hola', 'como', 'esta'];
document.body.addEventListener("click", () => {
  plus++;
  document.write(words[plus % words.length]);
});
body {
  height: 100vh;
  width: 100vw;
}
<body></body>