小编Ed *_*Dev的帖子

更有效的“删除重复项”功能

我管理的Google表格列表有时超过10,000行。对于行数最多为5,000的工作表,下面提到的删除重复项功能可以正常工作。但是对于超过5,000的任何内容,我都会收到“超出最大执行时间”错误。我希望能获得一些有关如何提高代码效率的说明,即使对于具有10k +行的工作表也可以平稳运行。

function removeDuplicates() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var data = sheet.getDataRange().getValues();
  var newData = new Array();
  for(i in data){
    var row = data[i];
    var duplicate = false;
    for(j in newData){
      if(row.join() == newData[j].join()){
        duplicate = true;
      }
    }
    if(!duplicate){
      newData.push(row);
    }
  }
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}
Run Code Online (Sandbox Code Playgroud)

javascript google-sheets google-apps-script

3
推荐指数
1
解决办法
165
查看次数