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

100
Visualizações
el registro de la consola muestra un valor diferente al que devuelve el valor

Obtengo dos resultados diferentes dependiendo de si registro los resultados dentro de la función o si los devuelvo y registro la variable y no entiendo por qué. ¿No deberían ser iguales?

 const collectionMap = { '615679ba94212894224f547c': 'Value One', '615679ba94212894224f5480': 'Value Two', '615679ba94212894224f5482': 'Value Three', '615679ba94212894224f5486': 'Value Four', '615679ba94212894224f548a': 'Value Five', '615679bb94212894224f548e': 'Value Six', } let id = '615679bb94212894224f548e' // this will log the key const collection = Object.keys(collectionMap).find((key) => { if (key === id) return collectionMap[key]; }); console.log(collection); // this will log the value const collection2 = Object.keys(collectionMap).find((key) => { if (key === id) console.log(collectionMap[key]); });

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

0

El método Array find devuelve el primer elemento para el que el iterador devuelve un valor verdadero. Para los primeros cinco valores, el valor devuelto no está definido y para el sexto devuelve 'Value Six' (una cadena no vacía). Esa cadena no vacía se convierte en un valor booleano (pruebe !!'Value Six' ) y el resultado es true . Por lo tanto, se devuelve esa clave y eso es lo que imprime.

En el segundo caso, solo está abusando de find para hacer lo que forEach está destinado.

about 4 years ago · Juan Pablo Isaza Relatório

0

en la primera declaración, la función guardó la clave en "colección", pero en la segunda declaración, la función no guardó el valor, en lugar de esto, registró su valor

si escribes esto en la consola:

 const collection3 = Object.keys(collectionMap).find((key) => { console.log(key); });

JS hará un bucle en las claves de collectionMap y lo registrará

ingrese la descripción de la imagen aquí

pero para que quede claro, si escribió esto en la consola:

 console.log(collectionMap["615679bb94212894224f548e"])

JS registrará "Value Six", eso es porque JS buscó en "615679bb94212894224f548e" en collectionMap para multar su valor

así que si escribes este código:

 const collection4 = Object.keys(collectionMap).find((key) => { console.log(collectionMap[key]); });

esto es lo que pasara tras bambalinas:

  1. collectionMap["615679ba94212894224f547c"] => Valor Uno
  2. collectionMap["615679ba94212894224f5480"] => Valor dos
  3. collectionMap["615679ba94212894224f5482"] => Valor tres
  4. collectionMap["615679ba94212894224f5486"] => Valor Cuatro
  5. collectionMap["615679ba94212894224f548a"] => Valor Cinco
  6. collectionMap["615679bb94212894224f548e"] => Valor Seis
about 4 years ago · Juan Pablo Isaza Relatório

0

.find devolverá el elemento en la matriz (la matriz de claves) donde el valor de la función de devolución de llamada es true . Así que realmente devuelve la key .

El valor que está registrando en la console.log es el value .

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