JavaScript 如何存储一个键值对数组

JavaScript 如何存储一个键值对数组

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

方法1

在这种方法中,我们将使用 Object 来在JavaScript中存储键 => 值。对象在JavaScript中是最重要的数据类型,也是构建现代JavaScript的基石。这些对象与JavaScript的基本数据类型(Number,String,Boolean,null,undefined和symbol)非常不同。对象更加复杂,每个对象可以包含任何组合这些基本数据类型以及引用数据类型。

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

语法:

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 = ["GeeksforGeeks", "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 => GeeksforGeeks
2 => Computer
3 => Science

方法2

在这种方法中,我们将使用Map来在JavaScript中存储键=>值。Map是一个元素的集合,每个元素都以键值对的形式存储。Map对象可以将对象和基本值同时作为键或值进行存储。当我们遍历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

方法3

在这个方法中,我们将使用reduce在JavaScript中存储键=>值。reduce是用于迭代元素列表的方法。该方法用于将数组减少为单个值,并对数组的每个值(从左到右)执行提供的函数,函数的返回值存储在累加器中。

语法:

array.reduce( function(total, currentValue, currentIndex, arr), initialValue )

示例:

<script>
    // An array of keys
    var keys = [5, 2, 3, 6, 10];
     
    // An array of values
    var values = ["Geeks", "for", "Geeks", "Course", "Algorithm"];
     
    // Using reduce to make 
//     stroe key value array in object
    var ans = values.reduce(( acc, value, i ) => {
        acc[keys[i]] = value;
        return acc}, {})
//     Printing
    for (const key in ans) {
        console.log(`{key}  =>{ans[key]} ` )
    }
 </script>

输出:

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

JavaScript最著名的应用是网页开发,但它也被用于各种非浏览器环境。你可以通过阅读此 JavaScript教程 和 JavaScript示例 来逐步学习JavaScript

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程