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

160
Visualizações
Cómo encontrar nombres por id

¿Cómo encontrar nombres por id? Tengo dos matrices y quiero encontrar nombres por sus id.

 person: [ {id: 1, name: 'abc'}, {id: 2, name: 'xyz'}, {id: 3, name: 'pqr'}, ] data: [ {id: 1, personId: [1,2,3]}, {id: 2, personId: [1,3]}, {id: 3, personId: [1,2]}, ]

Salida esperada :

 personId: [1,2,3] return // abc,xyz,pqr personId: [1,3] return // abc,pqr personId: [1,2] return // abc,xyz

Estoy usando react-native. He intentado esto :

 for (let person of this.state.data) { for (let personName of person['personId']){ let name = this.state.person.find(nme => nme['id'] === personName); alert(name); } }

Cualquier ayuda sería muy apreciada

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

0

Puedes usar buscar

 result = [] for (let i=0; i < personId.length; i++) { result.push(person.find(data => data.id === personId[i]).name); }

para poder recuperar objetos en su matriz de personas en función de la identificación.

about 4 years ago · Juan Pablo Isaza Relatório

0

Supongo que son datos JSON stringificados o un JSON en general. Por lo tanto, primero puede analizarlo en un objeto JS para que le resulte más fácil usar JS. Pero déjame dejarte esa parte a ti. Cambié sus datos a una matriz para poder mostrarle directamente lo que haría si ayuda. Es bueno usar métodos que no alteren los datos originales. Así que utilicé los métodos de matriz slice, forEach y map en este caso. De esta manera, puede crear de forma segura nuevos datos que son una réplica de los datos (var data) pero incluyendo la nueva propiedad 'personNames', que se asigna desde la otra variable (persona).

 const person = [ {id: 1, name: 'abc'}, {id: 2, name: 'xyz'}, {id: 3, name: 'pqr'}, ]; const data = [ {id: 1, personId: [1,2,3]}, {id: 2, personId: [1,3]}, {id: 3, personId: [1,2]}, ]; // not to mutate your original data, just in case const dataWithNames = data.slice(); // console.log(dataWithNames); // modifying new data to include personNames property dataWithNames.forEach( eachData => { // let eachIdP = eachData.personId; // creating new array by mapping person id to names from person data let mappedNames = eachData.personId.map( pID => { // goes to refer person data with same id person.forEach( eachPerson => { if ( eachPerson.id === pID ) { pID = eachPerson.name; } } ); return pID; } ); // console.log(mappedNames); // adding new property 'personNames' and // assign them to respective mappedNames eachData.personNames = mappedNames; } ); // console.log(dataWithNames);

Esto le dará lo siguiente.

 /* [ { id: 1, personId: [ 1, 2, 3 ], personNames: [ 'abc', 'xyz', 'pqr' ] }, { id: 2, personId: [ 1, 3 ], personNames: [ 'abc', 'pqr' ] }, { id: 3, personId: [ 1, 2 ], personNames: [ 'abc', 'xyz' ] } ]*/

Espero que esto ayude.

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