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

109
Visualizações
¿Cómo puedo filtrar BlockList?

Primero, no soy un hablante de inglés. Soy un desarrollador principiante. Por favor, comprenda si mi inglés es incómodo.

Estoy creando una aplicación de chat en tiempo real y filtrando los mensajes de la persona que bloqueé. Así que estoy filtrando el número objetivo de la persona bloqueada en todo el mensaje. Pero este proceso de filtrado no está funcionando bien. ¿Me puedes ayudar?

  1. Los mensajes vienen en forma de disposición de objetos desde el servidor.

como esto

 Message :  [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}] {type: 'message', idx: 1313231, name: '%E3%85%81%E3%84%B4%E3%85%87%E3%85%81', message: 'hello'}

https://i.stack.imgur.com/vMur3.png

  1. Del mismo modo, la lista de bloqueo también se recibe en forma de matriz de objetos desde el servidor.

idx es el objetivo idx del usuario está bloqueado idx

 blockList [{…}] > 0: {idx: 1321, target: 2231, timestamp: 1644561250499} length: 1 [[Prototype]]: Array(0)

https://i.stack.imgur.com/eLnYQ.png

Así que quiero filtrar ese mensaje si blockList.target !== enterMsg.idx pero no funciona, así que probé algunas formas de hacerlo

 const blockMap = blockList.map((el) => el.target) const filterdMessage = () => {enterMsg.filter((msg)=> { const realfiltered = enterMsg.filter((el) => { blockMap.map((bl) => { return el.idx !== bl }) }) })};

pero es una matriz vacía ¿Cómo puedo solucionarlo?

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Diría que hay un malentendido de las funciones de matriz: tal vez debería consultar los documentos;)

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects /matriz/mapa

Luego, desea filtrar una matriz (la lista de mensajes) y la función de filtro debe devolver un valor booleano, por lo que probablemente desee algo así:

 const filterdMessage = enterMsg.filter((msg)=> { return !blockList.some((bl) => { return msg.idx === bl.target }) })

Lo que hacemos aquí es:

  • decirle que queremos filtrar la matriz enterMsg en función de una condición que se calculará en la devolución de llamada proporcionada
  • para cada mensaje, compruebe si ninguna entrada en la lista de bloqueo tiene un objetivo que coincida con su idx

usamos la función 'some' que devolverá verdadero si se encuentra un bloque coincidente, y dado que no queremos bloques coincidentes, negamos la condición

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