3 votes

Comment obtenir une paire clé/valeur pour un objet ?

Cette question peut sembler très stupide, mais je veux obtenir une paire clé/valeur pour mon objet :

var a = {"e":1,"d":3,"f":4}

J'ai essayé avec Object.keys(a) // returns ["e", "d", "f"]

cela ne me donne pas les valeurs associées aux clés, comment puis-je obtenir les deux pour pouvoir les afficher dans une page.

html :

<div>
  <img src={value}/> //here i want value 1 to be displayed
{key} //with "e"
</div>

comment faire ? Merci !

3voto

VicJordan Points 382

Voilà. Pour obtenir key/value pair à partir d'un objet, faites-le comme ci-dessous en utilisant une méthode purement JavaScript Objet.entries() :

var a = {"e":1,"d":3,"f":4}

for (const [key, value] of Object.entries(a)) {
  console.log(`${key} ${value}`);
}

2voto

Thanh Lam Points 416

Si vous voulez obtenir une seule valeur :

Just use: *a.e* or *a[e]* return 1 

eg. <img src={a.e} />

Si vous voulez itérer un objet pour obtenir une valeur, il existe plusieurs façons :

var a = {"e":1,"d":3,"f":4}

Méthode 1 : Utilisé pour :

for ( var x in a) {
    console.log('v:',a[x]);
}

Méthode 2 : Utilisation de la carte :

Object.keys(a).map( (k) => {console.log('k',a[k])} );

Méthode 3 : Utilisation de foreach :

Object.keys(a).forEach(function(key,index) {
        console.log('a[key]',a[key]);
      });

1voto

edh4131 Points 60

Vous pouvez le faire de la manière suivante :

var a = {"e":1,"d":3,"f":4}

 for(var key in a){
  alert(key + ' : ' + a[key])
 }

Si vous avez besoin d'itérer sur chaque paire, c'est possible. Cependant, les boucles for in sont un peu bizarres en javascript et vous devriez lire un peu sur cette voie si vous décidez de le faire.

https://jsfiddle.net/edh4131/hd9p7cxq/

1voto

var a = {"e":1,"d":3,"f":4}
let container = document.querySelector('.container')

Object.entries(a).forEach(entry =>{
    let div = document.createElement('div')
  let img = document.createElement('img')
  img.src = entry[1]
  div.textContent = entry[0]
  div.appendChild(img)

  container.appendChild(div)
})

<div class="container">

</div>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X