Javascript google应用程序脚本数组从顶部删除重复值

Javascript google应用程序脚本数组从顶部删除重复值,javascript,arrays,google-apps-script,Javascript,Arrays,Google Apps Script,我有一个工作代码,它通过比较B列中的值来删除重复项。如果第2行和第3行在B列中具有相同的值,则删除第3行 function removeDuplicates() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getDataRange().getValues(); var newData = new Array(); for(i in data){ var row = data[i];

我有一个工作代码,它通过比较B列中的值来删除重复项。如果第2行和第3行在B列中具有相同的值,则删除第3行

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[1] == newData[j][1]){
        duplicate = true;
}
    }
    if(!duplicate){
      newData.push(row);
    }
  }
  sheet.clearContents();
  sheet.getRange(1, 1, newData.length, newData[0].length).setValues(newData);
}

如何更改此代码以从“编辑此”构建数组,从而不删除第3行,而删除第2行?

我认为这样就可以了

  function removeDuplicates() {
  var ss=SpreadsheetApp.getActive();
  var sh=ss.getActiveSheet();
  var rg=sh.getDataRange();
  var row=rg.getRow();
  var col=rg.getColumn();
  var vA=rg.getValues();
  var nA=[];
  var duplicate=true;
  for(var i=0;i<vA.length;i++)
  {
    duplicate=false;
    for(var j=0;j<nA.length;j++)
    {
      if(vA[i][1]==nA[j][1])
      {
        duplicate=true;
        nA[j]=vA[i];
      }
    }
    if(!duplicate)
    {
      nA.push(vA[i]);
    }
  }
  rg.clearContent();
  sh.getRange(row, col, nA.length, nA[0].length).setValues(nA);
}
函数removeDuplicates(){
var ss=SpreadsheetApp.getActive();
var sh=ss.getActiveSheet();
var rg=sh.getDataRange();
var row=rg.getRow();
var col=rg.getColumn();
var vA=rg.getValues();
var nA=[];
var重复=真;

对于(var i=0;它似乎什么都没做。对此我很抱歉。有时我看不懂整个问题。但我想这就是你想要的。现在最后一个副本是保留的。你能用简单的英语解释代码发生了什么吗?代码运行良好。显然我的大脑没有。我已经对我认为是的内容添加了注释继续,谢谢。