我有一个本质上是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”仅返回字段名称而不返回其值,因此输出将为“失败”。
这可能真的很简单,但是有人可以指导我正确的方向吗? 谢谢
答案 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])
});