0

在 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 组数据,是否有更快的方法将这些值分配给变量?

4

2 回答 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)
   }
})
于 2019-04-02T03:03:01.183 回答
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

于 2019-04-02T12:03:18.517 回答