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

153
Visualizações
Encontrar un valor en una matriz anidada y luego devolver un valor del alcance superior

Lo que estoy tratando de lograr es:

  1. Encuentra si el objeto de texto dentro de la matriz está vacío.
  2. Si los criterios de no1 coinciden, devuelva el valor de identificación que se encuentra en el nivel superior de ese objeto.

https://codesandbox.io/s/cranky-swirles-gb6ct?file=/src/App.js:410-412 En el ejemplo del código sandbox, he agregado dos objetos, con cadenas de texto vacías y en ese caso esperaría para recuperar una matriz de cadenas (resultado = ['662e4120', '782h7a9x'])

Puedo encontrar valores vacíos, sin embargo, no estoy seguro de cómo devolver el objeto desde el alcance superior.

Si no puede acceder al códigoSandbox, se adjunta un fragmento justo debajo:

 const array = [ { id: "5548d3c2", state: { properties: [ { text: "text", key: "fs5a" } ] } }, { id: "662e4120", state: { properties: [ { text: "", key: "m03n" } ] } }, { id: "782h7a9x", state: { properties: [ { text: "", key: "y5x1" } ] } }]; const findItem = () => { return array .map((item) => item.state) .map((item) => item.properties) .flat() .filter((item) => item.text === ""); };
about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

Intenta hacer algo como esto https://codesandbox.io/s/jovial-mcnulty-2fwh4

 export default function App() { const array = [ { id: "5548d3c2", state: { properties: [ { text: "text", key: "fs5a" } ] } }, { id: "662e4120", state: { properties: [ { text: "", key: "m03n" } ] } }, { id: "782h7a9x", state: { properties: [ { text: "", key: "y5x1" } ] } } ]; const findItem = () => { return array.filter(obj=>obj.state.properties[0].text==="").map(obj=>obj.id) }; console.log(findItem()); return <div className="App"></div>; }

Aquí, estamos filtrando la matriz original en función de un predicado que es obj=>obj.state.properties[0].text==="" . Esto básicamente obtiene todos los elementos de la matriz que satisfacen esta función de predicado. Después de esto, solo estamos aplicando el mapa sobre el resultado para obtener los identificadores de los elementos de la matriz que satisfacen esta función de predicado.

about 4 years ago · Juan Pablo Isaza Relatório

0

Para obtener una matriz con los identificadores de los objetos sin texto, debe cambiar el orden o sus iteraciones.

  1. .filter() la matriz de los elementos con campos de texto vacíos.
  2. .map () los elementos restantes a los valores que está buscando

Al mapear o filtrar, no puede ir solo a uno, sino a tantos niveles de profundidad como desee. Dado que 'propiedades' contiene una matriz y desea el primer elemento, puede acceder a eso con la matriz de índice [0] (con eso, el plano () que hizo es superfluo)

 const findItem = () => { return array .filter(item => item.state.properties[0].text === "") // (2) [{…}, {…}] the original items with no text .map(item => item.id) // ['662e4120', '782h7a9x'] };

(el código también puede estar incrustado como un fragmento, que se puede ejecutar directamente)

 const array = [ { id: "5548d3c2", state: { properties: [ { text: "text", key: "fs5a" } ] } }, { id: "662e4120", state: { properties: [ { text: "", key: "m03n" } ] } }, { id: "782h7a9x", state: { properties: [ { text: "", key: "y5x1" } ] } }]; const findItem = () => { return array .filter(item => item.state.properties[0].text === "") // (2) [{…}, {…}] the original items with no text .map(item => item.id) // ['662e4120', '782h7a9x'] }; console.log(findItem())

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