Creo que lo que intento crear es una matriz 3D en JS. Los datos que extraigo provienen de una hoja de Google y he creado una hoja ficticia con un registro de sudo-console que muestra cuál sería el resultado final ideal.
En resumen, quiero una lista de pares Cliente-Proyecto donde el par se vea así: [[Cliente], [Proyecto(s)]].
Sin embargo, estoy produciendo una lista donde cada cliente está asignado a cada proyecto en la lista, no solo a los proyectos con los que comparten una fila (consulte la hoja ficticia para el contexto).
¿Cómo debo reestructurar este código para obtener el resultado que estoy buscando?
¡Gracias! Toda ayuda es apreciada :D
const ss = SpreadsheetApp.openById("1BWutWGYPW9RjewRNdgLdHCn-Rytbyi63xbPF2Hd3tPg"); function getProjects(){ /** Getting List of Projects */ const projectsSH = ss.getSheetByName("Projects"); const projects = projectsSH.getRange(2,8,projectsSH.getLastRow()-1).getValues(); const clients = projectsSH.getRange(2,2,projectsSH.getLastRow()-1).getValues(); for (i = 0; i<clients.length; i++){ for(j = 0; j<projects.length; j++){ Logger.log([clients[i], projects[j]]) } } }https://docs.google.com/spreadsheets/d/1CqZSMtSsxzYZwgq5XlwWxN_vSfpgP35rSV0dnCVLeVU/edit#gid=0
Si entiendo bien y este es un objeto, puede probar este código:
function myFunction() { var sheet = SpreadsheetApp.getActiveSheet(); var data = sheet.getRange('A2:B29').getValues(); var obj = {}; for (let [client, project] of data) { if (client in obj) obj[client].push(project); else obj[client] = [project]; } console.log(obj); }Me pone el objeto así:
{ 'Advocacy Development Partners': ['San Dimas Memory Care'], 'ADC Real Estate / Amoroso Real Estate': ['Amoroso on La Cienega'], 'AMA Project Management': ['2847 Leeward'], 'American Team Properties': ['6845 N Figueroa', '4541 Santa Monica'], 'Apogee Pro Services': ['Gerald Ford Dr & Cook St'], 'ARD Group': ['Green Street Lofts'], 'Araz Development': ['10192 Blix St Apartments'], 'AUX Architecture': ['4920 Pico Blvd', '910 S Olive', '1036 Grand Ave'], 'AHV Communities': ['Carmelia'], 'Avenue Homes': ['Verdugo'], 'Bastion Development': ['K Town West - 975 S Manhattan Pl'], 'B&F LTD': ['Beverly and Fairfax'], 'Boos Development': ['3201 Wilshire', '13760 Sherman Way', '11700 National Blvd', '16358 Ventura Blvd', '1130 N Sepulveda Blvd', 'Ventura - Encino', 'Wild Fork Foods Long Beach', 'Wild Fork Foods Huntington Beach', 'Wild Fork Foods Manhattan Beach', 'Wild Fork Foods - 11700 National Blvd', 'Wild Fork Foods - San Diego Pacific Beach', 'Wild Fork Foods - Encinitas', '2570 Lincoln Blvd'] }Pero me elude, ¿qué quieres hacer con la 'matriz 3d' o el objeto?