Поиск без учёта регистра Google Apps Script

Делаю гугл-приложение. В этом приложении есть поиск по имени и фамилии в гугл-таблице. Вот в таком виде описк работает отлично:

// ==========================
// Поиск по фамилии и имени
// ==========================
function searchTenants(surname, name) {
  var sheet = SpreadsheetApp.openById('1q4zhX_xXiWDQqy7lb5U-EFu6F29CpZI5VKSI93gj').getSheetByName('DB');
  var data = sheet.getDataRange().getValues();
  var results = [];
  
  // Пропускаем заголовок
  for (var i = 1; i < data.length; i++) {
    var row = data[i];
    if (row[2] === surname && row[3] === name) {
      results.push([i + 1].concat(row)); // Добавляем индекс строки в массив результатов
    }
  }
  
  return results;
}

Но нужно сделать поиск, чтобы он игнорировал пробелы; игнорировал регистр; искал по первым введеным буквам фамилии или имени. Вот такое работает также как и код выше - значения введенные точно как в гугл-таблице ищет, но при других условиях не ищет:

// ==========================
// Поиск жильца по фамилии и имени
// ==========================
function searchTenants(surname, name) {
  var sheet = SpreadsheetApp.openById('1q4zhX_xXiWDQqy7lb5U-EFu6F29CpZI5VKSI93gj').getSheetByName('DB');
  var data = sheet.getDataRange().getValues();
  var results = [];

  // Преобразуем фамилию и имя в нижний регистр, убираем пробелы и используем только начальные буквы
  surname = surname.trim().toLowerCase();
  name = name.trim().toLowerCase();

  // Пропускаем заголовок
  for (var i = 1; i < data.length; i++) {
    var row = data[i];
    var tenantSurname = row[2].trim().toLowerCase(); // Фамилия в БД
    var tenantName = row[3].trim().toLowerCase(); // Имя в БД

    // Поиск по начальным буквам фамилии или имени
    if ((surname && tenantSurname.startsWith(surname)) || (name && tenantName.startsWith(name))) {
      results.push([i + 1].concat(row)); // Добавляем индекс строки в массив результатов
    }
  }

  return results;
}

Ответы (0 шт):