for 与 while 循环
for 循环可用于执行代码和/或返回一个值数组。返回数组的类型取决于 do 与 end 之间最后一条语句的类型。
for 循环
循环遍历一段数字区间:
for i from 1 to 10 do
i;
end;
遍历数组:
var myArray := [1, 3, 5, 7];
for i in myArray do
i;
end;
遍历 JSON 对象的键与值:
var config := {
sep: ",",
qut: """",
lf: "%0D%0A",
numberFormat: "point",
dateFormat: "locale",
header: true,
sepHeader: false,
encoding: "utf8"
};
for key, value in config do
key + " = " + value;
end;
关于如何在 Ninox 中操作 JSON 变量,请参见:特殊变量 / JSON。
对记录也同样可以这么做,但需要借助 Ninext 的原生 JS 把记录(nid)转换成 JSON:
var rec := (first(select Customer));
"Transforming a record into a JSON object"
var config := #{:any return rec}#;
for fieldName, value in config do
fieldName + " = " + value;
end;
这种做法在把表的所有字段导出为 CSV 之类的格式时会很有用。
while 循环
While 循环很简单,不返回任何值。它们只用于执行重复性的任务,不能用来构建数组。
示例:
var a := 1;
while a < 10 do
a := a + 1;
end;
