循环浏览当前项目值

时间:2018-08-16 03:53:37

标签: 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 {
      console.log("Failed"); 
    }
  }
}

由于“ ds.x”仅返回字段名称而不返回其值,因此输出将为“失败”。

这可能真的很简单,但是有人可以指导我正确的方向吗? 谢谢

1 个答案:

答案 0 :(得分:1)

简短的答案:在函数中,将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"); 
    }
  }
}

TL; DR

还有其他方式遍历对象的值。 让我们假设以下对象:

const obj = {
    "key1": "value1",
    "key2": "value2",
    "key3": "value3"
};

您可以使用Object.keys语法。

JS ES6答案:

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"

JS ES5答案:

Object.keys(obj).map(function(key) { 
   console.log(obj[key])
});