【发布时间】:2015-12-01 18:57:13
【问题描述】:
好的,我正在尝试将一个大数组的一部分复制到一个对象数组中。大数组是代表 RMA 数据的谷歌表中的一行。小数组包含几个(电路)板对象。我正在将大数组中的 4 个项目读入每个“板”。要从大数组中读取正确的项目,我需要先增加运算符,然后再读入我的小数组中对象中的新命名属性。如果我将数组用于“板”,那将很容易:创建一个子循环并在每次迭代时增加索引。但是因为我正在使用一个对象,所以我不知道该怎么做。我试图在我的索引中使用一个表达式(参见代码)。此外,顺便说一句,所有这些都发生在一个更大的对象内,该对象旨在从谷歌表中读取多行并处理它们。代码如下:
board:
[
{
code: "Board Code",
software: "S-Ver",
problem: "Problem",
riu: "RiU",
msqNotes: "MSq Notes"
}
],
grab: function (rowArray, board)
{
rma.timestamp = rowArray[1];
rma.guidelinesAgree = rowArray[2];
rma.expediteyn = rowArray[3];
rma.contact.name = rowArray[4];
rma.contact.coName = rowArray[5];
rma.contact.emailAddr = rowArray[6];
rma.contact.telNum = rowArray[7];
rma.contact.shipAddr = rowArray[8];
var boardArray = rma.createBoardArray();
var boardStartIndex = 9;
for(i = 0; i< 5; i++)
{
var k = i + 1;
board.push()
board[k].code = rowArray[boardStartIndex + 4i]; //prob here
board[k].software = rowArray[boardStartIndex + 4i + 1];
board[k].problem = rowArray[boardStartIndex + 4i + 2];
board[k].riu = rowArray[boardStartIndex + 4i + 3];
board[k].msqNotes = "";
}
注意:在 Google 脚本编辑器中,当我尝试调试时,我收到错误:“索引表达式中缺少 ]。”在我上面标记为“//prob here”的那一行。
另一个注意事项:我使用表达式“k”作为索引,因为我特意使用包含标题值的 board[0] 初始化了“board”数组......我想创建一个 google doc afterword有一个表,第一行是每一列的标题/标签,我正在使用第一个对象来存储这些标题。以前我使用的是“board[i+1].code =”等。
有没有办法在 JS 中为数组索引使用 Kosher 的表达式?
【问题讨论】:
-
4i是什么意思?它不是一个有效的标识符。 -
"i" 是循环 [increment] 变量 - 参见 'for' 语句。
-
您的意思可能是
4*i。您可以使用任意表达式作为数组索引,只要该表达式产生一个数字即可。board.push()也没有做任何事情。也许你的意思是board.push({})。
标签: javascript arrays indexing google-apps-script expression