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