【发布时间】:2015-08-14 18:13:44
【问题描述】:
我可以使用一些帮助来弄清楚 .push 如何与 Multidimensional Arrays 一起使用。我正在编写一个简单的程序,该程序从Google Sheets 页面中的单元格收集信息,并自动生成需要更新的列列表并向团队发送电子邮件以获取可见性。我正在从VB.Net 转换回JavaScript,所以我一直想使用我在VB 中使用的方法。我已经阅读了这里的几篇文章,但似乎无法理解它。我可视化 2D 数组的方式就像一个电子表格,但在示例中我发现它与我的可视化不太一样。
[员工姓名] [状态] [开始日期]
我看到上面是empRec[0,0]empRec[0,1]empRec[0,2]
但在推送示例中我看到empRec.push({"Employee Name", "Status"});
我是否理解 , 将第二个值中的值分开?是否会添加另一个 , 并将值转移到第二个值中的位置 2?
感谢您的意见。
代码片段
// Extract the users who need review
for (r=2; r <= eName.length - 1; r++) {
if (eName[r] != "") {
if (eAcceptNDA[r] == "" || eAvailability[r] == "" || eType[r] == "" || eDays[r] == "") {
mailRecList[mailRecCount, 0] = eName[r];
if (eAcceptNDA[r] == "") {
mailRecList[mailRecCount, 1] = "Needed";
} else { mailRecList[mailRecCount, 1] = "----"; }
if (eAvailability[r] == "") {
mailRecList.push[mailRecCount, 2] = "Needed";
} else { mailRecList[mailRecCount, 2] = "----"; }
if (eType[r] == "") {
mailRecList[mailRecCount, 3] = "Needed";
} else { mailRecList[mailRecCount, 3] = "----"; }
if (eDays[r] == "") {
mailRecList[mailRecCount, 4] = "Needed";
} else { mailRecList[mailRecCount, 4] = "----"; }
Logger.log(mailRecList[mailRecCount, 0] + ", " + mailRecList[mailRecCount, 1] + ", " + mailRecList[mailRecCount, 2] + ", " + mailRecList[mailRecCount, 3] + ", " + mailRecList[mailRecCount, 4]);
Logger.log(mailRecList.length / 5);
}
mailRecCount += 1;
}
}
当我运行上面的代码时,它只返回一行。工作表中当前有 3 个值,它只返回最后一个值。 for loop 以 2 开头的原因是因为前 2 个值是工作表上的标题信息。
【问题讨论】:
-
在这一行中:
mailRecList.push[mailRecCount, 2] = "Needed";您正在使用带有push的括号。你不能那样做。您必须使用括号。而且我不知道您为什么要使用赋值运算符。似乎您正试图以与向对象添加key/value元素对相同的方式向数组添加元素。数组和对象不使用相同的语法。 Link - JavaScript - Push -
谢谢。让我看一看。我认为这是我没有替换的先前失败尝试的残余。我使用了赋值运算符,因为在以前的语言中就是这样完成的。语言跳跃让我的大脑感到困惑。那么,如果我想推到第三列,我会使用
mailRecList(eName[r],"Needed","Needed");???
标签: javascript arrays google-apps-script