Creé una aplicación web CRUD basada en Googlesheet. Obtengo resultados de búsqueda duplicados cuando intento buscar en varias filas y columnas de la tabla de datos html en la aplicación web. Esto sucede cuando la prueba de búsqueda coincide con los datos de varias columnas de la misma fila. ¿Cómo puedo hacer que muestre solo resultados únicos? ¿Cómo puedo modificar mi código para buscar solo en las primeras 3/4 columnas?
Ejemplo de resultados de búsqueda duplicados en la entrada de búsqueda de la aplicación web: prueba:

Código de secuencia de comandos de Google:
function searchData(formObject){ var result = []; if(formObject.searchtext){//Execute if form passes search text var data = Sheets.Spreadsheets.Values.get(globalVariables().spreadsheetId, globalVariables().dataRange).values; for(var i=0;i<data.length;i++){ for(var j=0;j<data[i].length;j++){ if(data[i][j].toLowerCase().search(formObject.searchtext.toLowerCase())!=-1){ result.push(data[i]) } } } } return result; }JavaScript
function handleSearchForm(formObject) { google.script.run.withSuccessHandler(createTable).searchData(formObject); document.getElementById("search-form").reset(); } <!-- SEARCH FORM--> <form id="search-form" class="form-inline" onsubmit="handleSearchForm(this)"> <div class="form-group mx-sm-3 mb-2"> <label for="searchtext" class="sr-only">Search Text</label> <input type="search" class="form-control form-control-sm" id="searchtext" name="searchtext" placeholder="Search"> </div> <button type="submit" class="btn btn-sm btn-primary mb-2">Search</button>esta es la parte del script que busca en todas las columnas de una fila:
for(var j=0;j<data[i].length;j++){ if(data[i][j].toLowerCase().search(formObject.searchtext.toLowerCase())!=-1){ result.push(data[i]) } }
Si desea buscar solo por, por ejemplo, la primera columna, puede reemplazar ese código con:
const COLUMN_INDEX = 0; if(data[i][COLUMN_INDEX].toLowerCase().search(formObject.searchtext.toLowerCase())!=-1){ result.push(data[i]) }