Maison > interface Web > js tutoriel > le corps du texte

Comment échanger des clés et des valeurs d'éléments JSON en utilisant JavaScript ?

WBOY
Libérer: 2023-08-23 22:41:05
avant
693 Les gens l'ont consulté

如何使用 JavaScript 交换 JSON 元素的键和值?

Ici, nous allons apprendre à échanger des clés et des valeurs d'éléments JSON à l'aide de JavaScript. En JavaScript, les objets stockent des paires clé-valeur. Par conséquent, nous pouvons échanger la clé et la valeur tout comme nous échangeons deux variables normales.

Dans ce tutoriel, nous apprendrons différentes manières d'échanger toutes les valeurs clés d'un élément JSON à l'aide de JavaScript.

Utilisez une boucle for

Nous pouvons utiliser une boucle for pour parcourir les clés d'un objet JSON. Après cela, nous pouvons accéder à la valeur de l'objet à l'aide de la clé. Par conséquent, nous pouvons échanger chaque clé et valeur de l’objet.

De plus, nous devons créer un nouvel objet vide et stocker les clés et les valeurs de cet objet après l'échange.

Grammaire

Les utilisateurs peuvent utiliser la boucle for pour échanger des clés et des valeurs dans des éléments JSON selon la syntaxe suivante.

for (let key in object) {
   let value = object[key];
   new_obj[value] = key;
} 
Copier après la connexion

Dans la syntaxe ci-dessus, nous utilisons key pour accéder à sa valeur à partir de l'objet, pour new_obj, nous utilisons value comme clé et key comme valeur.

Exemple 1

Dans l'exemple ci-dessous, nous créons un objet contenant des paires clé-valeur uniques. De plus, nous créons un objet new_obj vide pour stocker les clés et valeurs échangées. Après cela, nous utilisons une boucle for pour parcourir les clés de l'objet. Dans la boucle for, nous accédons à la valeur d'une clé spécifique à partir de l'élément JSON.

Nous ajoutons les clés et les valeurs de l'objet à l'objet new_obj, mais nous utilisons la valeur comme clé et la clé comme valeur à échanger. Dans le résultat, l'utilisateur peut observer que les paires clé-valeur de new_obj sont échangées.

<html>
<body>
   <h2>Using the <i> for loop </i> to swap keys and values of JSON elements</h2>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      let object = {
         "key1": true,
         "key2": 10,
         "key3": "hello",
         "key4": 40
      }
      let new_obj = {};
      for (let key in object) {
         let value = object[key];
         new_obj[value] = key;
      }
      output.innerHTML += "The old object is " + JSON.stringify(object) + "<br/>";
      output.innerHTML += "The new object after swapping the key and values is " + JSON.stringify(new_obj) + "<br/>";
   </script>
</body>
</html>
Copier après la connexion

Utilisez les méthodes Object.keys() et forEach()

Nous pouvons obtenir les clés d'un objet sous forme de tableau en utilisant la méthode Object.keys(). Ensuite, nous pouvons utiliser la méthode forEach() pour parcourir le tableau de clés.

En parcourant toutes les clés, nous pouvons accéder à la valeur d'une clé spécifique et l'utiliser comme clé du nouvel objet.

Grammaire

Les utilisateurs peuvent utiliser les méthodes Object.keys() et forEach() selon la syntaxe ci-dessous pour échanger toutes les clés et valeurs de l'objet JSON.

Object.keys(student_obj).forEach((objectKey) => {
   swapped_obj[ student_obj[objectKey] ] = objectKey;
})
Copier après la connexion

Dans la syntaxe ci-dessus, nous utilisons "student_obj[objectKey]" pour obtenir la valeur de l'objet, qui sert de clé de l'objet swapped_obj.

Exemple 2

Dans cet exemple, nous avons créé l'objet student_obj, qui contient divers attributs de l'étudiant et leurs valeurs. Après cela, nous échangeons toutes les clés et valeurs de l'objet à l'aide des méthodes Object.entries() et forEach() et les stockons dans l'objet swapped_obj.

<html>
<body>
   <h2>Using the <i> Object.keys() and forEach() methods </i> to swap keys and values of JSON elements.</h2>
   <div id = "output"> </div>
   <script>
      let output = document.getElementById('output');
      let student_obj = {
         "name": "Shubham",
         "age": 22,
         "hobby": "Writing",
         "Above18": true,
         "id": "waewr34fg7y657"
      }
      let swapped_obj = {};
      Object.keys(student_obj).forEach((objectKey) => {
         let keyvalue = student_obj[objectKey];
         swapped_obj[keyvalue] = objectKey;
      })
      output.innerHTML += "The old object is " + JSON.stringify(student_obj) + "<br/>";
      output.innerHTML += "The new object after swapping the key and values is " + JSON.stringify(swapped_obj) + "<br/>";
   </script>
</body>
</html>
Copier après la connexion

Utilisez les méthodes Object.entries() et map()

Nous pouvons obtenir toutes les clés et valeurs d'un objet au format tableau en utilisant la méthode Object.entries(). Après avoir échangé les anciennes paires clé-valeur, nous pouvons utiliser la méthode map() pour mapper les nouvelles paires clé-valeur.

Nous pouvons utiliser les propriétés de déstructuration de tableau pour échanger chaque paire clé et valeur.

Grammaire

Les utilisateurs peuvent utiliser les méthodes Object.entries() et map() selon la syntaxe suivante pour échanger les clés et les valeurs des éléments JSON.

const result = Object.entries(table).map(
   ([prop, propValue]) => { return [propValue, prop]; }
);
let newObject = Object.fromEntries(result);
Copier après la connexion

Nous avons inversé l'ordre de chaque paire clé et valeur dans la syntaxe ci-dessus. Les clés deviennent donc des valeurs et les valeurs deviennent des clés. De plus, nous créons un objet à partir des entrées de clés et de valeurs à l'aide de la méthode Object.fromEntries().

Exemple 3

Dans cet exemple, nous définissons un objet table qui contient des propriétés de table. Lorsque l'utilisateur clique sur le bouton, il appelle la fonction swapKeyValues().

Dans la fonction swapKeyValues(), nous échangeons chaque paire clé et valeur de l'objet et les stockons dans le tableau FinalObject. Après cela, nous convertissons le tableau finalObject en un objet JSON à l'aide de la méthode Object.fromEntries() et le stockons dans la variable newObject

<html>
<body>
   <h2>Using the <i> Object.entries() and map() methods </i> to swap keys and values of JSON elements.</h2>
   <div id = "output"></div>
   <button onclick = "swapKeyValues()"> Swap Object key values</button>
   <script>
      let output = document.getElementById('output');
      let table = {
         "id": "1234",
         "color": "blue",
         "size": "6 feet",
         "legs": "6",
         "chairs": "8",
      }
      function swapKeyValues() {
         output.innerHTML += "The initial object is " + JSON.stringify(table) + "<br/>";
         let objectEntries = Object.entries(table);
         const finalObject = objectEntries.map(
            ([prop, propValue]) => { return [propValue, prop]; }
         );
         let newObject = Object.fromEntries(finalObject);
         output.innerHTML += "The new object after swapping the key and values is " + JSON.stringify(newObject) + "<br/>";
         return;
      }
   </script>
</body>
</html>
Copier après la connexion

Nous avons appris trois façons d'échanger les clés et les valeurs des éléments JSON. De plus, nous pouvons utiliser la méthode array.reduce() et la méthode Object.entries() pour échanger les clés et les valeurs des objets.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:tutorialspoint.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!