Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

232
Visualizações
TypeError no detectado: no se pueden leer las propiedades de nulo (leyendo 'segmento') ------ TypeError no detectado: no se pueden leer las propiedades de undefined (leyendo 'filtro')

Realmente aprecio algo de ayuda con este código. Estaba funcionando antes en las hojas de Google, pero de repente comenzó a aparecer con mensajes de error.

El código completo está abajo:

 function getDataForSearch() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const ws = ss.getSheetByName("TEST FORMULAR"); return ws.getRange(6, 1, ws.getLastRow()-1, 6).getValues(); }
 function setDataForSearch(){ google.script.run.withSuccessHandler(function(dataReturned){ data = dataReturned.slice(); }).getDataForSearch(); }
 function search(){ var searchInput = document.getElementById("searchInput").value.toString().toLowerCase().trim(); var searchWords = searchInput.split(/\s+/); var searchColumns = [0]; var resultsArray = searchInput == "" ? [] : data.filter(function(r){ return searchWords.every(function(word){ return searchColumns.some(function(colIndex){ return r[colIndex].toString().toLowerCase().indexOf(word) != -1; }); }); }); var searchResultsBox = document.getElementById("searchResults"); var templateBox = document.getElementById("rowTemplate"); var template = templateBox.content; searchResultsBox.innerHTML = ""; resultsArray.forEach(function(r){ var tr = template.cloneNode(true); var typeInitiativeColumn = tr.querySelector(".type-initiative"); var pepRefColumn = tr.querySelector(".pep-ref"); var projectNameColumn = tr.querySelector(".project-name"); pepRefColumn.textContent = r[0]; typeInitiativeColumn.textContent = r[1]; projectNameColumn.textContent = r[2]; searchResultsBox.appendChild(tr); }); }
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Parece que data no están undefined o dataReturned devuelve null . Puedes hacer una solución, como

 var data = []; // define globally google.script.run.withSuccessHandler(function (dataReturned) { if (dataReturned.length) { // check if dataReturned is not null in setDataForSearch function data = dataReturned.slice(); } }).getDataForSearch(); // then check if data is defined & not empty in search function var resultsArray = !data.length || searchInput == "" ? [] : data.filter(function (r) { });

Editar Reemplazar

 !data.length || searchInput == "" ?

con

 data === null || searchInput == "" ?
about 4 years ago · Juan Pablo Isaza Relatório

0

Cree una condición if como se muestra a continuación

 google.script.run.withSuccessHandler(function(dataReturned){ if(dataReturned && typeof dataReturned !== 'undefined'){ data = dataReturned.slice(); }else { data = "null or undefined" //or do whatever you want in else } }).getDataForSearch();

Comprobará si dataReturned no es nulo o indefinido. Si es nulo/indefinido/falso, no ejecutará lo proporcionado en la condición if.

¿Por qué ocurrió el error?
Está tratando de obtener algo de un nulo/indefinido. Es algo como null.slice() que hiciste

about 4 years ago · Juan Pablo Isaza Relatório

0

También puedes probar algo como:

 google.script.run.withSuccessHandler(function(dataReturned){ data = dataReturned?.slice(); }).getDataForSearch();
about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda