如何在 App Maker 查询中引用值(就像我在 Apps 脚本中所做的那样)

How do I reference a value in an App Maker query (like I do in Apps Script)

我正在编写一个脚本来获取一个库存编号,循环遍历现有的库存编号,直到找不到匹配项,然后将该唯一的库存编号分配给记录。我的问题是通常的 data[i][2] 似乎没有像 Apps 脚本引用数组那样引用 'query'。

公平警告,我正在尝试将我的 Apps 脚本技能扩展到更广泛的 Javascript 所以我很有可能做错了 - 我洗耳恭听如果你告诉我我做错了!

使用日志:data[i][2] 给我 'undefined' 而 data[2] 给我查询中第三项的所有字段。基于此,我觉得我只需要学习如何正确引用它。

//Querying my datasource as 'var data'
var query = app.models.UsedVehicles.newQuery();
query.filters.ParentDealType._contains = prefix;
var data = query.run();
//Returns four records which is correct.

var testStockNo = prefix+month+countstring+year; 
console.log("Test Stock Number " + j + ": " + testStockNo);
for (i = 0; i < data.length; i++){
     console.log("data[i][2]: " + data[i][2]); //results: undefined
     console.log("data[2]: " + data[2]); //results: all fields of 3rd query result.
     if(data[i][2] === testStockNo){
        k++;
        break;
     }else{
     console.log("No Match");
  }
}

即使testStockNo等于字段中的值:TStockNo,日志显示:
测试库存编号 1:C1200118

数据[i][2]:未定义

数据[2]:记录:{TIndex:8,TVin8:HS654987,TStockNo:空, TParentStkNo: GSD6578, TYear: 2010, TMake: NISSAN, TModel: PICKUP, TMileage:24356,ParentDealType:C}

没有匹配项

Issue/Solution:

query.run() returns 记录数组而不是数组数组 (2D)。您应该使用 key 而不是 index 来访问 Record 值。

片段:

console.log("data[i][TStockNo]: " + data[i]['TStockNo']);
console.log("data[i].TStockNo: " + data[i].TStockNo);
console.log("data[2]: " + data[2]); 

参考文献: