J’ai un objet JavaScript comme le suivant :
var persons = {
"p1": "alex",
"p2": "jean",
"p3": "yohan"
};
Comment puis-je parcourir tous les éléments de persons (p1, p2, p3…) en utilisant une boucle et récupérer leurs clés et leurs valeurs ?
Isaac
2
Vous pouvez utiliser la boucle for-in comme montré dans l’exemple suivant:
var persons = {
"p1": "alex",
"p2": "jean",
"p3": "yohan"
};
for (var key in persons) {
if (persons.hasOwnProperty(key)) {
console.log(key + " -> " + persons[key]);
}
}
Sortie:
p1 -> alex
p2 -> jean
p3 -> yohan
Henri
3
Vous pouvez aussi utiliser la boucle for-of comme montré dans l’exemple suivant:
var persons = {
"p1": "alex",
"p2": "jean",
"p3": "yohan"
};
for (var key of Object.keys(p)) {
console.log(key + " -> " + p[key])
}
Sortie:
p1 -> alex
p2 -> jean
p3 -> yohan
Sous ECMAScript 5, vous pouvez combiner Object.keys() et Array.prototype.forEach():
var persons = {
"p1": "alex",
"p2": "jean",
"p3": "yohan"
};
Object.keys(persons).forEach(function(key) {
console.log(key, persons[key]);
});
ECMAScript 6 ajoute for…of:
for (const key of Object.keys(persons)) {
console.log(key, persons[key]);
}
ECMAScript 8 ajoute Object.entries():
Object.entries(persons).forEach(
([key, value]) => console.log(key, value)
);
Je vous recommande de lire ce tutoriel: