Ciao a tutti. Sto facendo un esercizio javascript dove si chiede di modificare il contatto di una rubrica una volta inserito. Il contatto inserito lo tratto come un oggetto:
let cont={ nome:nom, cognome: cog, tel:phone}
L'inserimento mi viene e ho usato questa funzione:
function ins(){
readline.question("Input nome= ", nom => {
readline.question("Input cognome= ", cog=> {
readline.question("Input telefono= ", phone=> {
cont={nome:nom, cognome:cog, tel:phone};
arr.push(cont);
counter++;
console.log( arr);
menu();
return arr;
});
});
});
}
Quello che non riesco a fare è la modifica. O meglio, ho un array con gli oggetti come elementi,riesco anche a modificare l'elemento ma non me lo mette nella posizione corretta. Ho provato a sostituire un elemento con quello modificato ma quando vado a visualizzare l'intero array mi ritrovo il vecchio e il nuovo elemento. Posto il codice per maggiore chiarezza:
function mod(){
readline.question("Input contatto= ", nmb => {
let idx=parseInt(nmb);
console.log(arr[idx]);
readline.question("Modifica contatto: nome= ", newnome =>{
readline.question("Modifica contatto: cognome= ", newcog =>{
readline.question("Modifica contatto: tel= ", newtel =>{
cont.nome=newnome;
cont.cognome=newcog;
cont.tel=newtel;
console.log(cont, idx);
menu();
});
});
});
});
}
function vis(){
for(let i=0; i < arr.length;i++){
console.log(arr[i],i);
}
menu();
}