Je veux obtenir la clé et la valeur du tableau JSON avec des clés dynamiques. Sens, je ne sais pas à l'avance quelles seront les clés.
Ceci est un exemple pour le json la fonction obtient:
arr = [
{key1: 'val1'},
{key2: 'val2'},
{key3: 'val3'}
];
Cela me semble simple mais je suis incapable d’obtenir la clé et la valeur de chaque article.
Voici ce que j'ai essayé (basé sur ce tuyau ):
for (let key of arr) {
console.log ('key: ' + key + ', value: ' + arr[key]);
}
Mais ce que je trouve dans le journal est le suivant:
key:[object Object], value: undefined
Mon comportement attendu est d'obtenir ce qui suit:
key:key1, value:val1
Qu'est-ce que je fais mal? Comment puis-je obtenir les clés et les valeurs?
Dans votre exemple, vous avez un tableau d'objets et chacun de ces objets a exactement une propriété.
for (let obj of arr) {
console.log("object:", obj);
for (let key in obj) {
console.log(" key:", key, "value:", obj[key]);
}
}
Le code suivant de votre publication
for (let key in arr) {
console.log ('key: ' + key + ', value: ' + arr[key]);
}
... travaillerait sur une structure de données comme celle-ci:
let arr = {
key1: 'val1',
key2: 'val2',
key3: 'val3'
};
Vous avez besoin d'une autre boucle for pour accéder à la clé et à la valeur,
for (let key of this.arr) {
for(var i in key){
console.log('key: ' + i + ', value: ' + key[i]);
}
}
Vérifiez la console
Si vous êtes plus soucieux de spécifier un objet comme
var temp={'name':Dinesh,'age':18}
Vous pouvez utiliser la syntaxe suivante.
console.log(Object.keys(temp)[0],Object.values(temp)[0]):
Indice particulièrement nul, car les deux clés de méthode et les valeurs de l'objet renvoient un tableau
yourObject.forEach(function(value, index){
// do your job
console.log(value, index);
});