我可以在javascript中将表达式用作数组索引吗?

时间:2015-09-05 21:48:57

标签: javascript arrays indexing google-apps-script expression

好的伙计们,我试图将一个大型数组的一部分复制到一个对象数组中。大数组是来自谷歌表的一行,代表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脚本编辑器中,当我尝试调试时,我在索引表达式中收到错误:&#34; Missing。&#34;在我标记的行#34; //在这里问题&#34;上方。

另一个注意:我正在使用表达式&#39; k&#39;对于索引,因为我故意初始化了&#39; board&#39;包含标题值的Board [0]的数组....我想创建一个google doc afterword,其中第一行包含每列的标题/标签,我使用第一个对象来存储这些标题。以前我在使用&#34; board [i + 1] .code =&#34;等

是否有办法使用JS中存在的阵列索引表达式?

1 个答案:

答案 0 :(得分:0)

这是语法错误:

rowArray[boardStartIndex + 4i]

我猜你是这个意思:

rowArray[boardStartIndex + 4 * i]

我在数学和数学方面知道科学“4i”的意思是“4次我”,但在Javascript中你必须使用“*”运算符。