Я пытаюсь найти уникальные значения в двух массивах, которые были собраны с листа.
Я попробовал код, который работает для моего первого сравнения, это найти доступных водителей, но этот код не работает для поиска доступного транспортного средства для следующего назначения.
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
Демонстрационный лист