Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

106
Vistas
¿Existe una forma más limpia de agregar una nueva propiedad con valores únicos a una matriz?

Estoy aprendiendo js ahora (lo sé tarde para la fiesta) y tengo el siguiente código y me preguntaba si podría escribirse de una manera más limpia/simple.

Además, idealmente, en lugar de usar "if (obj.id === 1)", me gustaría iterar a través de la matriz y agregar la edad según la secuencia, es decir, [0] se convertiría en '32' y así sucesivamente.

 const students = [ // Three objects, each with four properties { id: 1, name: 'Mark', profession: 'Developer', skill: 'JavaScript' }, { id: 2, name: 'Ariel', profession: 'Developer', skill: 'HTML' }, { id: 3, name: 'Jason', profession: 'Designer', skill: 'CSS' }, ]; const studentsWithAge = students.map(obj => { if (obj.id === 1) { return {...obj, age: '32'}; } else if (obj.id === 2) { return {...obj, age: '26'}; } else if (obj.id === 3) { return {...obj, age: '28'}; } return obj; }); console.log(studentsWithAge); // output // [ // { // id: 1, // name: 'Mark', // profession: 'Developer', // skill: 'JavaScript', // age: '32' // }, // { // id: 2, // name: 'Ariel', // profession: 'Developer', // skill: 'HTML', // age: '26' // }, // { // id: 3, // name: 'Jason', // profession: 'Designer', // skill: 'CSS', // age: '28' // } // ]
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Puede mapear la matriz en el objeto de esta manera:

 const ages = ['32', '26', '28']; const studentsWithAge = students.map(obj => { ...obj, age: ages[obj.id-1] });
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede crear una matriz ages y usar el índice para asignar el valor al objeto correspondiente.

 const students = [ // Three objects, each with four properties { id: 1, name: 'Mark', profession: 'Developer', skill: 'JavaScript' }, { id: 2, name: 'Ariel', profession: 'Developer', skill: 'HTML' }, { id: 3, name: 'Jason', profession: 'Designer', skill: 'CSS' }, ]; const ages = [32, 26, 28]; const result = students.map((s, i) => { return { ...s, age: ages[i] } }); console.log(result);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Su código es verdadero, otra forma de agregar edades por la identificación es el siguiente código. Simplemente use id s como clave de objeto y edad como valor.

El siguiente código verifica si la id existe en la const de ages luego la agrega a studentsWithAge . Funciona exactamente como su código.

 const ages = {1: '32', 2: '26', 3: '28'}; const studentsWithAge = students.map(obj => { if(ages[obj.id]) obj.age = ages[obj.id]; return obj; });

Pero si está seguro de que todas las identificaciones tienen un valor de edad, se podría usar un código más simple como este:

 const ages = {1: '32', 2: '26', 3: '28'}; const studentsWithAge = students.map(obj => ({...obj, age: ages[obj.id]}));
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda