我可以更快地从文本框中收集多个变量吗?

问题描述 投票:0回答:2

在code.org中,我正在尝试从可以输入数字的文本框中收集数据。我想将输入到文本框中的数字分配到不同的变量中。

现在,我个别抓住每个变量。

我目前正在我的代码的开头创建变量,就像这样。

var player1 = "player1";
var player2 = "player2";
var player3 = "player3";
var player4 = "player4";
var player5 = "player5";

然后在我使用onEvent处理函数后,我使用getText函数单独获取每个数字。

onEvent("team2Button", "click", function () {
  player1 = getText("player1");
  player2 = getText("player2");
  player3 = getText("player3");
  player4 = getText("player4");
  player5 = getText("player5");
});

由于我要收集大约30组数据,是否有更快的方法将这些值分配给变量?

javascript pseudocode code.org
2个回答
1
投票

您可以使用对象:

const players = {};

for(let i = 1; i <= 30; i++) {
 players[`player${i}`] = `player${i}`
}

onEvent('button', 'click', function(){
   for(let key in players){
     players[key] = getText(key)
   }
})

0
投票

您可以使用“设计”选项卡创建文本输入,然后编写一些代码,以便每次键入内容时将新条目添加到列表中,然后按Enter键:

var players = [];
onEvent("text_input1", "change", function(event) {
  var name = getText("text_input1");
  appendItem(players, name);
  setText("text_input1", '');
  console.log("added player: " + name);
});

如果您希望将此文本输入与应用程序的其余部分分开,则可以将其放在不同的屏幕上。例如:https://studio.code.org/projects/applab/3vINC-jX6LHkiARJCoCmUQ

© www.soinside.com 2019 - 2024. All rights reserved.