为什么" TypeError:无法读取属性"长度"来自undefined"出现在Google表格上?

时间:2016-11-29 03:48:17

标签: javascript google-apps-script google-sheets

错误讯息:
TypeError:无法读取属性" length"来自undefined。

样本数据:
数据

突出显示示例数据后出现错误消息并单击"按钮"它上面有一个Assign脚本。脚本是:

 function result(range) {
  var output2 = [];
  for(var i=0, iLen=range.length; i<iLen; i++) {
    var s = range[i][1].split(" ");    
    for(var j=0, jLen=s.length; j<jLen; j++) {
      var output1 = []; 
      for(var k=0, kLen=range[0].length; k<kLen; k++) {
        if(k == 1) {
          output1.push(s[j]);
        } else {
          output1.push(range[i][k]);
        }
      }
      output2.push(output1);
    }    
  }
  return output2;
}

(在线查看此代码并尝试使其工作,但未能)

1 个答案:

答案 0 :(得分:0)

简单地说错误表明你有一个未定义的数组。

查看您的代码有两个地方可能会发生这种情况。请检查以下内容是否正确:

  • attr是一个传递给函数的数组(函数不能自己调用​​,其他地方你必须range调用这个函数)
  • result(arrayVar)变量是一个包含数组的数组,因此它必须至少range(例如[[]])才能生成var range = [[a1,a2,a3],[b1,b2,b3]]和{{1} },但如果您有range.lenght = 2,那么range[0].lenght = 3[a1, a2, b1, b2]工作