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

128
Visualizações
no se puede leer la propiedad de undefined usando el valor predeterminado

Tengo un modelo que obtiene algunos datos y filtros. Cuando se inicie la aplicación, quiero que todos los filtros sean iguales a true . He establecido un valor predeterminado, pero sigo recibiendo el siguiente error.

 const model = (data, predictions, { placeFilter = true, startDateFilter = true, endDateFilter = true }) => { const getData = () => data.filter(placeFilter).filter(startDateFilter).filter(endDateFilter) }
 TypeError: Cannot read properties of undefined (reading 'placeFilter') at model (model.js:1) at init (index.js:15)
about 4 years ago · Juan Pablo Isaza
3 Respostas
Responde à pergunta

0

Su parámetro podría ser nombrado para acceder al valor predeterminado

 const model = (data, predictions, filter = { placeFilter: true, startDateFilter: true, endDateFilter: true }) => { const getData = () => data.filter(filter.placeFilter).filter(filter.startDateFilter).filter(filter.endDateFilter) }
about 4 years ago · Juan Pablo Isaza Relatório

0

const model = (data, predictions, { placeFilter = true, startDateFilter = true, endDateFilter = true }) => { const getData = () => data.filter(placeFilter).filter(startDateFilter).filter(endDateFilter) }

No puede llamar a la función del model anterior pasando dos argumentos como model([], []) ya que JavaScript intentará desestructurar el tercer argumento que no está undefined .

Puedes hacer esto en su lugar:

 const model = (data, predictions, { placeFilter = true, startDateFilter = true, endDateFilter = true } = {}) => { console.log(placeFilter, startDateFilter, endDateFilter) } model([], []) model([], [], { placeFilter: false })


Por cierto, suponiendo data son una matriz y está tratando de usar Array.prototype.filter , se debe llamar al filter con una función de devolución de llamada que devuelve un booleano pero está pasando directamente booleanos a todos los filtros.

about 4 years ago · Juan Pablo Isaza Relatório

0

 const model = (data, predictions, { placeFilter = true, startDateFilter = true, endDateFilter = true } = {}) => { const getData = () => data.filter(placeFilter).filter(startDateFilter).filter(endDateFilter) }

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