Maison > interface Web > js tutoriel > Comment stocker un tableau clé => valeur en JavaScript ?

Comment stocker un tableau clé => valeur en JavaScript ?

PHPz
Libérer: 2023-09-09 09:45:09
avant
1179 Les gens l'ont consulté

如何在 JavaScript 中存储 key => value 数组?

有时,我们需要使用 JavaScript 中的某些数据结构将键映射到特定值。例如,在 JavaScript 中将用户详细信息存储在键值对中非常有用。

我们可以使用不同的数据结构,例如JavaScript中的对象或映射,以键值格式存储数据。

使用对象在 JavaScript 中存储键 => 值

在 JavaScript 中,对象允许我们以键值格式存储数据。我们可以使用键和对象来从对象中获取数据。

语法

用户可以按照下面的语法使用JavaScript中的对象来存储键值对

let object = {};
object[key] = value;
Copier après la connexion

在上面的语法中,我们创建了空对象。此外,我们将特定键的值存储在对象中

示例 1

在下面的示例中,我们创建了包含数字的keysArray。 valueArray 包含表示数字的不同字符串。

之后,我们使用for循环来遍历keysArray。我们从keysArray的第i个索引中获取键,并从valuesArray的第i个索引中获取值。对于每个键,我们将值存储在对象中。

最后,我们打印了对象的所有键和值。

<html>
<body>
   <h2>Using the <i> objects </i> to store a key => value pairs in JavaScript.</h2>
   <div id = "output"> </div>
   <script>
      var output = document.getElementById('output');
      let keysArray = [1, 2, 3, 4, 5, 6];
      let valuesArray = ["one", "two", "three", "four", "five", "six"];
      let object = {};
      for (let i = 0; i < keysArray.length; i++) {
         object[keysArray[i]] = valuesArray[i];
      }
      for (let key in object) {
         output.innerHTML += "Key - " + key + " , value - " + object[key] + "<br>";
      }
   </script>
</body>
</html> 
Copier après la connexion

在 JavaScript 中使用映射存储 key => value

我们还可以使用映射以键值格式存储数据。 Map 类包含 set() 方法来设置数据,并以键和值作为参数。另外,map 类包含 get() 方法,该方法将键作为参数并返回映射的值。

语法

用户可以按照以下语法使用映射在 JavaScript 中存储键值对。

let mapData = new Map();
mapData.set(key, value) 
Copier après la connexion

我们在上述语法中使用了 Map() 构造函数来创建一个新的地图对象。此外,我们还使用 set() 方法来设置键和值。

示例 2

在下面的示例中,mapKeys 数组包含数字字符串。我们迭代数组并将键值对设置为映射。在 for 循环中,我们使用 set() 方法来设置映射中的键值。此外,我们还传递了 mapKeys 数组中的键作为第一个参数,并将索引作为第二个参数。

<html>
<body>
   <h2>Using the <i> mapData </i> to store a Key => value pairs in JavaScript.</h2>
   <div id = "output"> </div>
   <script>
      var output = document.getElementById('output');
      let mapKeys = ["one", "two", "three", "four", "five", "six"];
      
      // Creating the new map
      let mapData = new Map();
      for (let i = 0; i < mapKeys.length; i++) {
         mapData.set(mapKeys[i], i)
      }
      for (let mapKey of mapData.keys()) {
         output.innerHTML += "mapKey - " + mapKey + " , value - " + mapData.get(mapKey) + "<br>";
      }
   </script>
</body>
</html>
Copier après la connexion

在 JavaScript 中使用 array.reduce() 方法存储 key => value

array.reduce()方法通过减少数组将数组转换为单个元素。我们可以使用reduce()方法通过将数组数据以键值对格式存储在对象内部,将整个数组转换为单个对象。

语法

用户可以按照下面的语法使用 array.reduce() 方法将数组数据存储在对象中。

let object = arrayOfValues.reduce((obj, element, index) => {
   obj[index * 2] = element;
   return obj;
}, {}) 
Copier après la connexion

我们在上面的语法中使用 {} (空对象)初始化了对象。我们将数组的每个元素存储在 obj 对象中,并从 array.reduce() 方法返回它。

示例 3

在下面的示例中,我们有一个 arrayOfValues 变量,其中包含字符串格式的不同编程语言。我们已经将数组转换为对象格式,对象格式以键值格式存储数组数据。

在 array.reduce() 方法中,obj 对象包含上次迭代更新的键值。在当前迭代中,我们使用索引 *2 作为键,使用数组元素作为对象元素的值。之后,我们返回 obj。

<html>
<body>
   <h2>Using the <i> Array.reduce() method </i> to store a key => value pairs in JavaScript.</h2>
   <div id = "output"> </div>
   <script>
      var output = document.getElementById('output');
      let arrayOfValues = ["TypeScript", "JavaScript", "ReactJS", "NextJS", "Python", "C"];
      let object = arrayOfValues.reduce((obj, element, index) => {
         
         // store element to object
         obj[index * 2] = element;
         
         // return updated object
         return obj;
      }, {})
      for (let objKey in object) {
         output.innerHTML += "Key - " + objKey + " , value - " + object[objKey] + "<br>";
      }
   </script>
</body>
</html>
Copier après la connexion

我们在 JavaScript 中使用了 map、object 和 array.reduce() 方法以键值格式存储数据。地图是以键值格式存储数据的最佳方式。

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!

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