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

214
Vistas
How to modify the value of only one of the keyvalues in the json array of js and keep the others?

This is the data that needs to be processed

let test=[
  {
    "id": 28620,
    "name": "fenbi1",
    "dn": "chl"
  },
  {
    "id": 5941,
    "name": "fenbi2",
    "dn": "chl"
  },
  {
    "id": 5226,
    "name": "fenbi3",
    "dn": "chl"
  }]

The requirement is to change only dn to ch the changed value is

  let test=[
  {
    "id": 28620,
    "name": "fenbi1",
    "dn": "ch"
  },
  {
    "id": 5941,
    "name": "fenbi2",
    "dn": "ch"
  },
  {
    "id": 5226,
    "name": "fenbi3",
    "dn": "ch"
  }]

This is the method I used

  test=test.map((item)=>({
    'id':item.id,
    'name':item.name,
    'dn':'ch'
  }))

This approach works but is not elegant because just to change one value you have to write the others as well, is there a better way to implement this?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Use rest syntax to collect the properties other than dn, then spread them into the new object.

const test=[{id:28620,name:"fenbi1",dn:"chl"},{id:5941,name:"fenbi2",dn:"chl"},{id:5226,name:"fenbi3",dn:"chl"}];

const output = test.map(({ dn, ...rest }) => ({ dn: 'ch', ...rest }));
console.log(output);

about 4 years ago · Juan Pablo Isaza Denunciar

0

Just a simple for loop might be better than map in this situation

let test=[
  {
    "id": 28620,
    "name": "fenbi1",
    "dn": "chl"
  },
  {
    "id": 5941,
    "name": "fenbi2",
    "dn": "chl"
  },
  {
    "id": 5226,
    "name": "fenbi3",
    "dn": "chl"
  }]

  for (let item of test) {
     item.dn = 'ch'
  }

  console.log(test)

about 4 years ago · Juan Pablo Isaza Denunciar

0

You can write code like this.

let test=[
   {
      "id": 28620,
      "name": "fenbi1",
      "dn": "chl"
   },
   {
      "id": 5941,
      "name": "fenbi2",
      "dn": "chl"
   },
   {
      "id": 5226,
      "name": "fenbi3",
      "dn": "chl"
   }]

Now use array.map()

const newArray = test.map(e => ({...e,dn:"ch"}));
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