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?