JavaScript 如何存储一个键=>值数组

JavaScript 如何存储一个键=>值数组

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

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

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

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

语法

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

let object = {};
object[key] = value;

在上面的语法中,我们已经创建了空对象。同时,我们在对象中存储了一个特定键的值

例子1

在下面的例子中,我们创建了keysArray,它包含了数字。valuesArray包含了代表数字的不同字符串。

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

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

<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> 

在JavaScript中使用map来存储键=>值

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

语法

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

let mapData = new Map();
mapData.set(key, value) 

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

例2

在下面的例子中,mapKeys数组包含数字字符串。我们遍历该数组并将键值对设置到map中。在for循环中,我们使用set()方法来设置map中的键值。另外,我们把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>

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

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

语法

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

let object = arrayOfValues.reduce((obj, element, index) => {
   obj[index * 2] = element;
   return obj;
}, {}) 

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

例三

在下面的例子中,我们有一个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>

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

JavaScript 教程