const userMap = {}; users.forEach(user => { userMap[user._id] = user; }); userMap.forEach((obj) => { keys = Object.keys(obj); keys.forEach((key) => { console.log(obj[key].email); });
8 Réponses :
Utilisez pour ... dans code> pour itérer toutes les touches de l'objet. Parce que
foreach code> est une méthode de tableau et
usermap code> est un objet afin qu'il ne puisse pas utiliser la méthode.
for (const id in userMap) {
console.log(userMap[id].email);
}
La raison pour laquelle ce qui suit ne fonctionne pas est parce que usermap code> est un objet (vous ne fermez pas non plus votre
extérieur code> boucle code>, qui sera une syntaxe ERREUR):
const obj = {"5def224170a3ec0d90dbb89a": { "_id": "5def224170a3ec0d90dbb89a", "username": "dhruv1999", "fullname": "dhruv parmar", "email": "dhruv@gmail.com", "phone": "7045691556", "password": "$2a$10$UOk8E4fbkkZvSRSzQqWK4eyJ2Z.qtL4D38thfhzkxJ1pSxSFn5fna", "__v": 0 }, "5def2747d135311a747a9660": { "_id": "5def2747d135311a747a9660", "username": "dhruv1998", "fullname": "parmar", "email": "dhruvkp@gmail.com", "phone": "704591556", "password": "$2a$10$px5SK.OpP7i2Ryvg.ko/OeIbuq9XDT3luTrIBloNFCTiImUJC1BIm", "__v": 0 } }
const res = Object.values(obj).map(({email}) => email);
console.log(res);
console.log(res.join(', ')); // use `.join()` for string output
Utilisez ce code =>
var data = { "5def224170a3ec0d90dbb89a": { "_id": "5def224170a3ec0d90dbb89a", "username": "dhruv1999", "fullname": "dhruv parmar", "email": "dhruv@gmail.com", "phone": "7045691556", "password": "$2a$10$UOk8E4fbkkZvSRSzQqWK4eyJ2Z.qtL4D38thfhzkxJ1pSxSFn5fna", "__v": 0 }, "5def2747d135311a747a9660": { "_id": "5def2747d135311a747a9660", "username": "dhruv1998", "fullname": "parmar", "email": "dhruvkp@gmail.com", "phone": "704591556", "password": "$2a$10$px5SK.OpP7i2Ryvg.ko/OeIbuq9XDT3luTrIBloNFCTiImUJC1BIm", "__v": 0 } } let allEmails = ''; Object.keys(data).map((item) => { allEmails = allEmails + data.item.email + ',' }) console.log(allEmails) // here you will get all emails
Je pense que vous voulez utiliser objet.values (données) code> au lieu de
objet.keys (données) code>
Il devrait ressembler à ce laisser allemails = objet.values (données) .map (item => élément.email) .join (','); console.log (allemails); code>
Vous avez eu tort car l'objet.values (données) renvoie une matrice de clés et je souhaite que pour la boucle d'objet.values (données) renvoie des valeurs mais je n'en ai pas besoin.
@Rahulgupta no, qoomon est correct, item.email.email code> ne donne aucun sens si
élément code> est la clé i> parce que ce sera juste un String, et aucune propriété
.Email code> existe sur une chaîne. Il est logique que c'est la valeur
code> comme ce serait l'objet, où
.email code> accède à la propriété de messagerie. Aussi actuellement, vous utilisez
.map () code> sans utiliser sa valeur de retour.
.map () code> n'est pas destiné à être utilisé de cette façon. Au lieu de cela, vous pouvez utiliser
.foreseach () code> si tout ce que vous avez l'intention de faire est itération et causant des effets secondaires.
Ce doublure doit faire le tour
objet.tries (utilisateurs) .map (((touche, valeur]) => valeur.email) code> p>
objet.entries (utilisateurs) code> renvoie un tableau de la graisse et de la valeur de la valeur li>
.map (([clé, valeur]) => valeur.email) code> extraire le champ email de tous les utilisateurs
[touche, valeur] code> est un Destructuration de la mission un moyen facile Pour affecter les valeurs de la matrice aux variables li>
ul> li>
ul>
Utilisation pour ... en boucle code>
En supposant que le nom de notre objet est code> objet code>.
let object={ "5def224170a3ec0d90dbb89a": { "_id": "5def224170a3ec0d90dbb89a", "username": "dhruv1999", "fullname": "dhruv parmar", "email": "dhruv@gmail.com", "phone": "7045691556", "password": "$2a$10$UOk8E4fbkkZvSRSzQqWK4eyJ2Z.qtL4D38thfhzkxJ1pSxSFn5fna", "__v": 0 }, "5def2747d135311a747a9660": { "_id": "5def2747d135311a747a9660", "username": "dhruv1998", "fullname": "parmar", "email": "dhruvkp@gmail.com", "phone": "704591556", "password": "$2a$10$px5SK.OpP7i2Ryvg.ko/OeIbuq9XDT3luTrIBloNFCTiImUJC1BIm", "__v": 0 } } for(let obj in object){ console.log(object[obj].email) }
Un exemple de travail:
let data = { "5def224170a3ec0d90dbb89a": { _id: "5def224170a3ec0d90dbb89a", username: "dhruv1999", fullname: "dhruv parmar", email: "dhruv@gmail.com", phone: "7045691556", password: "$2a$10$UOk8E4fbkkZvSRSzQqWK4eyJ2Z.qtL4D38thfhzkxJ1pSxSFn5fna", __v: 0 }, "5def2747d135311a747a9660": { _id: "5def2747d135311a747a9660", username: "dhruv1998", fullname: "parmar", email: "dhruvkp@gmail.com", phone: "704591556", password: "$2a$10$px5SK.OpP7i2Ryvg.ko/OeIbuq9XDT3luTrIBloNFCTiImUJC1BIm", __v: 0 } }; Object.keys(data).forEach(item => { console.log(data[item].email); //you can access email here. });
est
usermap code> l'objet lui-même?
Pouvez-vous expliquer plus sur votre objet?
Est-ce un
Carte Code> < / a> objet?