如何从 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"]
我在 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"]