Есть ли способ изменить мое сравнение, чтобы найти уникальные значения в двух массивах - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь найти уникальные значения в двух массивах, которые были собраны с листа.

Я попробовал код, который работает для моего первого сравнения, это найти доступных водителей, но этот код не работает для поиска доступного транспортного средства для следующего назначения.

function getDriversAndVehicles() {
  var ss = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Main Responses");
  var ds = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Drivers and Vehicls");
  var ap = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Approval Page");
  var hp = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("helpersheet");

  var driverslr = ds.getRange("A1").getDataRegion().getLastRow();
  var vehicleslr = ds.getRange("E1").getDataRegion().getLastRow();

  var mainRespomseslr = ss.getRange("A1").getDataRegion().getLastRow();
  var lr = 4; 
  var Drivers = ds.getRange(2, 1, driverslr-1).getValues();
  Drivers = [].concat.apply([], Drivers);
  var Vehicles = ds.getRange(2, 5, vehicleslr-1).getValues();
  Vehicles = [].concat.apply([], Vehicles);

  var foundDrivers = ss.getRange(i+2, 30, 1, 8).getValues();
  foundDrivers = [].concat.apply([], foundDrivers);

  var foundVehicles = ss.getRange(i+2, 22, 1, 8).getValues();
  foundVehicles = [].concat.apply([], foundVehicles);

  //filtering technique is only working for the available drivers only.
  var availableDrivers = Drivers.filter(function(e) {return foundDrivers.filter(function(f) {return f[0] == e[0]}).length == 0});

  var availableVehicles = Vehicles.filter(function(e) {return foundVehicles.filter(function(f) {return f[0] == e[0]}).length == 0});
}

Примеры названий автомобилей, которые я использую:

    Toyota Coaster5-01284
    Renault5-01210
    Kia5-01613
    RAV45-01582
    Toyota Coaster5-01619
    Toyota Coaster5-01852

Примеры имен драйверов

    jhon
    james

Демонстрационный лист

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...