Tengo un script de Google exitoso que me permite obtener el contenido de un documento de Hojas de cálculo de Google y mostrarlo en un menú desplegable. Esto funciona perfectamente, pero no me gusta el orden en que se muestra, necesito enumerar el menú en orden alfabético, pero por alguna razón no puedo resolverlo.
Aquí está el guión:
function getColors() { const sheet = SpreadsheetApp.openById("1234567").getSheetByName("tab"); const colName = 'Media Type'; const colNum = getColNumByName(colName); if (colNum === null) { Logger.log('Column ' + colName + ' was not found!'); return []; } const firstRow = 2; const lastRow = sheet.getLastRow(); // get all values from column const columnData = sheet.getRange(firstRow, colNum, lastRow).getValues().flat(); // filter values on duplicates return columnData.filter((el, i) => i === columnData.indexOf(el) && el !== ''); } function getColNumByName(colName, row = 1) { const sheet = SpreadsheetApp.openById("1234567").getSheetByName("tab"); const [data] = sheet.getRange(row, 1, row, sheet.getLastColumn()).getValues(); const col = data.indexOf(colName); // adding 1 because column nums starting from 1 return col === -1 ? null : col + 1; }alguien me puede orientar por favor
Probar
return columnData.filter((el, i) => i === columnData.indexOf(el) && el !== '').sort()