C'est probablement quelque chose de vraiment stupide, mais je ne comprends pas pourquoi cela ne fonctionne pas.
var a = {"cat":"large"};
a.forEach(function(value, key, map){
console.log(value);
});
Uncaught TypeError: a.forEach n'est pas une fonction
L'objet n'a pas forEach
, il appartient à Array
prototype . Si vous souhaitez parcourir chaque paire clé-valeur de l'objet et récupérer les valeurs. Tu peux le faire:
Object.keys(a).forEach(function (key){
console.log(a[key]);
});
Note d'utilisation: pour un objet v = {"cat":"large", "dog": "small", "bird": "tiny"};
, Object.keys(v)
vous donne un tableau des clés afin que vous obteniez ["cat", "chien", "oiseau"]}
Quand j'ai essayé d'accéder au résultat de
Object.keys(a).forEach(function (key){
console.log(a[key]);
});
il s'agissait d'un résultat en texte brut sans paire clé-valeur Voici un exemple
var fruits = {
Apple: "fruits/Apple.png",
banana: "fruits/banana.png",
watermelon: "watermelon.jpg",
grapes: "grapes.png",
orange: "orange.jpg"
}
Maintenant, je veux obtenir tous les liens dans un tableau séparé, mais avec ce code
function linksOfPics(obJect){
Object.keys(obJect).forEach(function(x){
console.log('\"'+obJect[x]+'\"');
});
}
le résultat de :
linksOfPics(fruits)
"fruits/Apple.png"
"fruits/banana.png"
"watermelon.jpg"
"grapes.png"
"orange.jpg"
undefined
J'ai compris celui qui résout ce que je cherche
console.log(Object.values(fruits));
["fruits/Apple.png", "fruits/banana.png", "watermelon.jpg", "grapes.png", "orange.jpg"]