【发布时间】:2020-07-06 16:07:15
【问题描述】:
嗨,我在 googlesheet 中有一个名为“Rank sheet”的列 G2: G,其商店名称类似于
column G
storeA
storeB
storeC
storeA
storeA
storeD
我想创建一个函数名称“删除”(谷歌应用程序脚本)来删除重复名称的行,但是当我运行它时,gsheet 说:“TypeError:无法从未定义中读取属性“长度”。”任何人都可以帮助我修复它或帮助您的代码。非常感谢 我的代码是:
function remove() {
var range2 = rankSheet.getRange("G2:G");
var values2 = range2.getValues();
for (var n = 0; n < values2.length; n++) {
if(values2[n] == values2[n+1]) {
var outarray = []
outarray.push(n+2)
Logger.log(outarray)
}
}
for (var m = 0; m <= outarray.length - 1; m++) {
rankSheet.deleteRow(outarray[m]);
}
}
【问题讨论】:
-
首先要做的就是将 var outarray = [] 移到你的 for 循环之上。每次通过循环时,您都将其设置为一个新的空白数组,而不是添加它。
-
var range2 = rankSheet.getRange("G2:G"); -- rankSheet 是从哪里来的?它没有在您的函数中定义。它来自全局变量吗?当你提出问题时,你需要让人们知道这些事情。