0
votes

JavaScript Envoyez une alerte pour inviter et modifier le tableau?

//global variable
var memArray  =[];

//object    
function member(id, password){

  this.id          = id; 
  this.pwd         = password
  }
  var memObj1=new member("m001","123");
  memArray.push(memObj1);
How do I send out an alert to prompt and edit each object that is push to memArray?

0 commentaires

3 Réponses :


2
votes

Si vous souhaitez personnaliser, essayez d'utiliser vos propres modules au lieu de fenêtre.Prompt et d'afficher simplement des valeurs avec des champs de texte modifiables, sur Soumettre capturer ces valeurs et changez-les respectivement.

p>

var memArray = [];


//object    
function member(id, password) {

  this.id = id;
  this.pwd = password
}
var memObj1 = new member("m001", "123");
var memObj2 = new member("m002", "123");
var memObj3 = new member("m031", "123");
memArray.push(memObj1);
memArray.push(memObj2);
memArray.push(memObj3);
memArray.forEach((val, ind) => {
  memArray[ind] = JSON.parse(window.prompt("want to edit values?", JSON.stringify(memArray[ind])));
});

console.log(memArray)


4 commentaires

ici pour aider à tout moment @fendi. Codage heureux.


Bonne solution. Une suggestion: utilisez array.map et renvoie un nouveau tableau, plutôt que de muter. La mutation augmente la complexité et les bugs. Voir Cet article .


@Joshwulf Je suis d'accord sur le point que vous avez mentionné, j'essayais de donner une solution simple, j'ai également mentionné d'avoir une fenêtre contextuelle modale personnalisée au lieu de fenêtre.prompt. Merci pour la mise à jour.


Oh ouais, votre solution est bonne et elle répond à la question immédiate que l'utilisateur avait. Ma suggestion est plus une amélioration de quelque chose qui va déjà bien. Pas d'ombre :-)



0
votes

Autant que je concerne, des alertes ne sont que des modèles sur le navigateur pour fournir un retour d'information informatif à un utilisateur particulier sur ses actions. Par conséquent, je pense qu'il est tenu d'utiliser un modèle de dialogue ou un formulaire pour modifier les objets dans le memarray .


1 commentaires

S'il vous plaît essayez d'ajouter un extrait de code pour que l'op de comprendre.



1
votes

La réponse de Pavan est bonne, mais pour rendre cela testable dans des tests automatisés:

p>

const Members = (() => {
   let _members = []
   return {
      setMembers: members => _members = [...members],
      getMembers: () => [..._members],
      updateMember: updated => 
         this.members = _members.map(m =>
            m.id === updated.id ? updated : m)
   }
})()


0 commentaires