0
我有一个脚本,删除标签内的所有线程和所有sublabels.This是工作正常,但最近我得到一个错误,说该操作childrens[i].removeFromThreads(threads);
不能适用于更多的100个线程...我该如何解决这个问题?使用.removeFromThreads在谷歌应用程序脚本中的100多个线程
function removingThreadsfromLabel() {
var parentlabelstring = 'THELabel';
var parentlabel = GmailApp.getUserLabelByName(parentlabelstring);
var childrens = children(parentlabel);
for (var i = 0; i < childrens.length; i++){
var threads = childrens[i].getThreads();
childrens[i].removeFromThreads(threads);
}
}
function children(parent) {
var name = parent.getName() + '/';
return GmailApp.getUserLabels().filter(function(label) {
return label.getName().slice(0, name.length) == name;
});
}
现在我已经做了以下,但它并不是最佳...
function removingThreadsfromLabel() {
var parentlabelstring = 'THELabel';
var parentlabel = GmailApp.getUserLabelByName(parentlabelstring);
var childrens = children(parentlabel);
for (var i = 0; i < childrens.length; i++){
var threads = childrens[i].getThreads();
Logger.log(threads.length);
while (threads.length>100){
childrens[i].removeFromThread(threads[0]);
var threads = childrens[i].getThreads();
}
childrens[i].removeFromThreads(threads);
}
}
问候,
难道你的意思splice()?我不认为切片会改变原始数组。我会猜想可能拼接(0,批量); – Cooper