![](/img/trans.png)
[英]Google App Script: TypeError: Cannot read property 'length' of undefined (line *, file "Code")
[英]Google App Script TypeError: Cannot read property “length” from undefined
运行此脚本时,我收到了长度错误,但如果我注释掉条件并拉出所有内容,则没有问题。 “ sp.getRange(1,1,data.length,data [0] .length).setValues(data);”行中的错误
我已经三重检查了第22列是否是我想要的列(第V列),并且该列中存在条件“ Denver”,但没有任何数据返回到数据中。
任何解释将不胜感激。
function Packaging() {
var t = SpreadsheetApp.openById('1kNq2irlV39yDRtuJPrkb3-572guw4wn9UsR2t5_I0pR');
//Grab PACKAGING COST
var pp = t.getSheetByName('RawData');
var ppk = pp.getRange(1,1,pp.getLastRow(),pp.getLastColumn()).getValues();
var data = []
for (var i = 0; i< ppk.length ; i++){
if(ppk[i][22] == "Denver")
{
data.push(ppk[i])
}
}
//Write in current sheet
var s = SpreadsheetApp.getActiveSpreadsheet();
//Write Packaging
var sp = s.getSheetByName('PackagingCost2');
sp.getRange(1,1,sp.getLastRow(),sp.getLastColumn()).clearContent();
sp.getRange(1,1,data.length,data[0].length).setValues(data);
//sp.getRange(1,1,ppk.length,ppk[0].length).setValues(ppk);
}
问题在于JavaScript数组使用基于0的索引,因此,列V的索引为21,而不是22,并且由于列V是最后一列,您会收到未定义错误消息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.