Google app maker 循环浏览当前项目值

Google app maker 循环浏览当前项目值,google-app-maker,Google App Maker,我有一个SQL模型形式的调查问卷 用户回答问题,创建项目。加载项后,如何循环遍历这些值?我不熟悉JS和GAM,但我尝试了下面的方法,似乎只能得到字段的名称,而不能得到它的值 function generateScore(){ ds = app.datasources.Checklist.item; for (var x in ds){ if (ds.x === 'Safe'){ console.log("Passed"); } else { con

我有一个SQL模型形式的调查问卷

用户回答问题,创建项目。加载项后,如何循环遍历这些值?我不熟悉JS和GAM,但我尝试了下面的方法,似乎只能得到字段的名称,而不能得到它的值

function generateScore(){
  ds = app.datasources.Checklist.item;
  for (var x in ds){
    if (ds.x === 'Safe'){
      console.log("Passed");
    } else {
      console.log("Failed"); 
    }
  }
}
输出将为“Fail”,因为“ds.x”只返回字段的名称,而不返回其值

function generateScore(){
  ds = app.datasources.Checklist.item;
  for (var x in ds){
    if (ds.x === 'Safe'){
      console.log("Passed");
    } else {
      console.log("Failed"); 
    }
  }
}
这可能真的很简单,但有人能给我指引正确的方向吗?
谢谢

简短回答:在您的函数中将ds.x更改为ds[x]:

function generateScore(){
  ds = app.datasources.Checklist.item;
  for (var x in ds){
    if (ds[x] === 'Safe'){
      console.log("Passed");
    } else {
      console.log("Failed"); 
    }
  }
}
Object.keys(obj).map(key => obj[key]) // returns an array of values --> ["value1", "value2", "value3"]

Object.keys(obj).map(key => {
  console.log(obj[key])
}) 

// logs all values one by one --> "value1" "value2" "value3"
Object.keys(obj).map(function(key) { 
   console.log(obj[key])
});
TL;DR

通过对象的值循环有其他方法。 让我们假设以下对象:

const obj = {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
};
您可以使用Object.keys语法

JS ES6回答:

function generateScore(){
  ds = app.datasources.Checklist.item;
  for (var x in ds){
    if (ds[x] === 'Safe'){
      console.log("Passed");
    } else {
      console.log("Failed"); 
    }
  }
}
Object.keys(obj).map(key => obj[key]) // returns an array of values --> ["value1", "value2", "value3"]

Object.keys(obj).map(key => {
  console.log(obj[key])
}) 

// logs all values one by one --> "value1" "value2" "value3"
Object.keys(obj).map(function(key) { 
   console.log(obj[key])
});
JS ES5回答:

function generateScore(){
  ds = app.datasources.Checklist.item;
  for (var x in ds){
    if (ds[x] === 'Safe'){
      console.log("Passed");
    } else {
      console.log("Failed"); 
    }
  }
}
Object.keys(obj).map(key => obj[key]) // returns an array of values --> ["value1", "value2", "value3"]

Object.keys(obj).map(key => {
  console.log(obj[key])
}) 

// logs all values one by one --> "value1" "value2" "value3"
Object.keys(obj).map(function(key) { 
   console.log(obj[key])
});