Из того, что я понял из вашего вопроса, этот код может помочь вам отсортировать адреса так, как вы хотите:
Код
function sorting() {
//get distance
var outputSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Maps");
var relstatecodes = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Filtered States");
var reladdresses = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Relevant Addresses");
var lastrow = relstatecodes.getLastRow();
var lastrow2 = reladdresses.getLastRow()
var range = relstatecodes.getRange(3,1, lastrow-2,1);
var range2 = reladdresses.getRange(2,3, lastrow2-1,1);
var statecodes = range.getValues();
var stateaddresses = range2.getValues();
var reladdresses = [];
var clusterObj = {};
// Let´s iterate through the array with the state codes
statecodes.forEach(function(el){
clusterObj[el] = [];
// We take all the state addresses
for(var i in stateaddresses){
// We check if the state address includes the state code
if( stateaddresses[i].toString().indexOf(" " + el + " ") > - 1){
// If it is included then we build the JavaScript object
clusterObj[el].push(stateaddresses[i][0]);
}
}
});
// Logger.log(clusterObj);
// You can check in this way the addresses by state code
Logger.log(clusterObj["AZ"]);
Logger.log(clusterObj["CA"]);
}
Вывод
[1365 N Scottsdale Rd, Scottsdale, AZ 85257, United States, 350 W Washington St, Tempe, AZ 85281, United States, 501 E. Orange St., Tempe, AZ 85287, United States, 2323 W 14th St, Tempe, AZ 85281, United States, 1555 W University Dr #103, Tempe, AZ 85281, United States, 2844 West Deer Valley Road, Phoenix, AZ 85027, United States]
[19-11-06 15:55:56:760 CET] [1000 S Fremont Ave #5, Alhambra, CA 91803, United States, 4021 Rosewood Ave, Los Angeles, CA 90004, United States, 919 S Grand Ave, Los Angeles, CA 90015, United States, 7335 N Palm Bluffs Ave, Fresno, CA 93711, United States, 6363 Sunset Blvd, Los Angeles, CA 90028, United States, 9331 Mariposa Rd, Hesperia, CA 92344, United States, 2041 Business Center Dr, Irvine, CA 92612, United States, 5757 Plaza Dr #100, Cypress, CA 90630, United States, 257 Longford Dr #5, South San Francisco, CA 94080, United States, 151 Innovation Dr, Irvine, CA 92617, United States, 5 Hutton Centre Dr #500, Santa Ana, CA 92707, United States, 8620 Spectrum Center Boulevard Suite 600, San Diego, CA 92123, United States]
То, что я сделал, взяло массив с кодами состояний и этими значениями, проверил, было ли это слово внутри адресов в вашем stateaddresses
, и если код состояния был там, добавьте адрес к clusterObj
.
В качестве плюса я оставлю эту документацию Лучшие практики на тот случай, если вы захотите проверить ее, поскольку она может быть полезной при разработке вашего проекта.