Change attribute inside an objs array (javascript)

Asked

Viewed 61 times

2

I have the following problem, given the following objs array, I would like to return the same array, but aged *2

const usuarios = [
  { nome: "Diego", idade: 23, senha: 123 },
  { nome: "Gabriel", idade: 15, senha : 123 },
  { nome: "Lucas", idade: 30, senha : 123 }
];

Another question, I can for example change the password of a certain user? as if in mysql you use a Where?

  • 1

    Can you explain better " age *2"? what do you mean by that?

1 answer

0

You can filter user using the function find in the first example if you want to change only one element. Or you can use the functions filter and map to make the change in more element as in the second example:

let usuarios = [
  { nome: "Diego", idade: 23, senha: 123 },
  { nome: "Gabriel", idade: 15, senha : 123 },
  { nome: "Lucas", idade: 30, senha : 123 }
];

// O find retorna o primeiro elemento que satifaz a condição
let usuarioAlterar = usuarios.find(function (usuario){ return usuario.nome =='Diego'});

console.log(usuarioAlterar);
usuarioAlterar.idade *= 2;
console.log(usuarios);



// exemplo 2
usuarios = [
  { nome: "Diego", idade: 23, senha: 123 },
  { nome: "Gabriel", idade: 15, senha : 123 },
  { nome: "Lucas", idade: 30, senha : 123 }
];

let usuariosAlterar = usuarios.filter(function (usuario){ return usuario.idade  < 30 ;});
console.log('usuariosAlterar', usuariosAlterar);

usuariosAlterar.map(function(usuario){usuario.idade *= 2; });
console.log('usuariosAlterar', usuariosAlterar);

Browser other questions tagged

You are not signed in. Login or sign up in order to post.