【发布时间】:2016-09-02 17:41:34
【问题描述】:
对于一个范围内的每一行,我想在一个数组中添加一个或多个条目,具体取决于 int 的值,在该行的一个列中。 例如,如果我的行是:
Val1 1
我想将一个对象 {Val1,'US'} 推送到我的数组中。 另一方面,如果我的行是:
Val1 2
我想将两个对象:{Val1,'FR'}, {Val1,'DE'} 推送到我的数组中。 我无法弄清楚为什么以下代码不起作用:
var range = sheet.getRange("A2:B");
var results = range.getDisplayValues();
var array = [];
results.forEach(function(row){
switch(row[1]){
case '1' :
row[1] = "US";
array.push(row);
break;
case '2' :
row[1] = "FR";
array.push(row);
row[1] = "DE";
array.push(row);
break;
case '3' :
var entry1 = row;
var entry2 = row;
entry1[1] = "UK";
entry2[1] = "SW";
array.push(entry1);
array.push(entry2);
break;
}
});
return array;
这会返回两次“DE”和两次“SW”。我在案例三中尝试了不同的方法,以确保问题不在于变量引用,但同样的事情也会发生。可能是因为我循环价值的方式吗?为什么会这样?
感谢您的帮助。
【问题讨论】:
-
您可以为输入/输出添加示例值吗?目前还不是很清楚你期望你的输出是什么
标签: javascript foreach google-apps-script