如何在JavaScript中存储key value数组?(键值对)

2021年3月9日16:22:54 发表评论 1,866 次浏览

我们给出了两个包含键和值的数组, 任务是将其存储为以下形式的单个实体键=>JavaScript中的值。在JavaScript中, 数组是用于存储不同元素的单个变量。通常在需要存储零件列表并通过一个变量访问它们时使用。我们可以使用下面讨论的方法将key => value数组存储在JavaScript Object中:

方法1:在这种方法中, 我们将使用Object在JavaScript中存储键=>值。 JavaScript中的对象是最重要的数据类型, 并构成现代JavaScript的构建块。这些对象与JavaScript的原始数据类型(数字, 字符串, 布尔值, 空值, 未定义和符号)有很大不同。对象更加复杂, 每个对象可以包含这些原始数据类型以及参考数据类型的任何组合。

方法:我们将遍历整个数组, 并逐一添加对象中键(数组)中的键和值(数组)中的对应值。

语法如下:

for(var i = 0; i < keys.length; i++){
        // obj = Object
        // keys = key array
        // values = value array
        obj[keys[i]] = values[i];
}

例子:

<script> 
     // An array of keys
     var keys = [1, 2, 3];
      
     // An array of values
     var values = [ "lsbin" , "Computer" , "Science" ];
      
     // Object created
     var obj = {};
      
     // Using loop to insert key
     // value in Object
     for ( var i = 0; i < keys.length; i++){
         obj[keys[i]] = values[i];
     }
      
     // Printing object
     for ( var key of Object.keys(obj)) {
         document.write(key + " => " + obj[key] + "</br>" )
     }
  
</script>

输出如下:

1 => lsbin
2 => Computer
3 => Science

方法2:在这种方法中, 我们将使用地图在JavaScript中存储键=>值。该映射是元素的集合, 其中每个元素都存储为键, 值对。 Map对象既可以将对象又可以将原始值作为键或值保存。当我们遍历map对象时, 它以与插入顺序相同的顺序返回键, 值对。

方法:我们将遍历整个数组, 然后在映射中一个一个地添加键(数组)中的键以及值(数组)中的对应值。

语法如下:

for(var i = 0; i < keys.length; i++){
        // mp = Map
        // keys = key array
        // values = value array
        map.set(keys[i], values[i];
}

例子:

<script> 
     // An array of keys
     var keys = [5, 2, 3, 6, 10];
      
     // An array of values
     var values = [ "Geeks" , "for" , "Geeks" , "Course" , "Algorithm" ];
      
     // Map created
     var map = new Map();
      
     // Using loop to insert key
     // value in map
     for ( var i = 0; i < keys.length; i++){
         map.set(keys[i], values[i]);
     }
      
     // Printing
     for ( var key of map.keys()) {
         document.write(key + " => " + map.get(key) + "</br>" )
     }
  
</script>

输出如下:

5 => Geeks
2 => for
3 => Geeks
6 => Course
10 => Algorithm

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: