Google App Script - игнорировать регистр при удалении дубликатов - PullRequest
0 голосов
/ 30 января 2019

Я нашел скрипт приложения Google здесь от Cooper, пользователь: 7215091, из этой темы

И он отлично работает для моих нужд, когда я тоже удаляю дубликаты из листа Google, просматриваязначения в столбце B на листе, который постоянно обновляется внешними пользователями.

Единственное, что я хочу, это игнорировать регистр.Что нужно отредактировать, чтобы он удалял дубликаты, игнорируя регистр?Например, он находит «Bob», «bob» и «boB» и удаляет два, неважно, какое.

  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);
}

1 Ответ

0 голосов
/ 30 января 2019

Используйте toLowerCase () , чтобы преобразовать каждую строку в строчные буквы и сравнить их.

  if(vA[i][1].toLowerCase() === nA[j][1].toLowerCase())
  {
    duplicate=true;
    nA[j]=vA[i];
  }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...