如何从 Code.Org AppLab 上的数据 table 正确读取数组?

How to properly read array from a data table on Code.Org AppLab?

我在 AppLab 中创建了一个名为 "morning" 的 table,其中一列将数据存储为数组(或称为列表)。我能够正确地将数据添加到这个数组,但我的问题是读回数据(因为我想在另一页上将其显示为 label/normal 文本)如果数字 1234 和 5678 是数组,当我尝试做

console.log(records[i].id + ': ' + records[i].buses);    

第二个值(总线)是我要读回的列的名称,结果是“,”而不是“1234,5678”,我不确定该怎么做。这是我目前的代码,任何帮助将不胜感激!

readRecords("morning", {}, function(records) {
  for (var i =0; i < records.length; i++) {
console.log((records[i]).id + ': ' + records[i].(buses[i]));
  }
 });

 var ts1Buses = ["1234"];
 var ts1Change;
onEvent("enterTS1", "click", function(event) {
  appendItem(ts1Buses, getText("textTS1"));
  updateRecord("morning", {id:1, buses:ts1Buses}, function(record, success) {
    setText("textTS1", "");
  });
});     

您的较长代码块中的 console.log 语句看起来不太正确。请尝试 console.log(records[i].id + ': ' + records[i].buses);。如果这不起作用,请 post 一个 link 到您的项目,以便其他人可以尝试通过重新混合和编辑来找到修复。

App Lab 的数据表不支持数组。它们必须在创建或更新之前转换为逗号分隔的字符串,并在读取之后转换为数组。

要将数组转换为字符串,只需使用 toString() 方法:

var array = ["a", "b", "c"];
console.log(array.toString()) // "a,b,c"

要将字符串转换为数组,请使用 split() 方法:

var string = "a,b,c";
console.log(string.split(","); // ["a", "b", "c"]