所属分类:web前端开发
有时,我们需要使用 JavaScript 中的某些数据结构将键映射到特定值。例如,在 JavaScript 中将用户详细信息存储在键值对中非常有用。
我们可以使用不同的数据结构,例如JavaScript中的对象或映射,以键值格式存储数据。
在 JavaScript 中,对象允许我们以键值格式存储数据。我们可以使用键和对象来从对象中获取数据。
用户可以按照下面的语法使用JavaScript中的对象来存储键值对
let object = {}; object[key] = value;
在上面的语法中,我们创建了空对象。此外,我们将特定键的值存储在对象中
在下面的示例中,我们创建了包含数字的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>
我们还可以使用映射以键值格式存储数据。 Map 类包含 set() 方法来设置数据,并以键和值作为参数。另外,map 类包含 get() 方法,该方法将键作为参数并返回映射的值。
用户可以按照以下语法使用映射在 JavaScript 中存储键值对。
let mapData = new Map(); mapData.set(key, value)
我们在上述语法中使用了 Map() 构造函数来创建一个新的地图对象。此外,我们还使用 set() 方法来设置键和值。
在下面的示例中,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>
array.reduce()方法通过减少数组将数组转换为单个元素。我们可以使用reduce()方法通过将数组数据以键值对格式存储在对象内部,将整个数组转换为单个对象。
用户可以按照下面的语法使用 array.reduce() 方法将数组数据存储在对象中。
let object = arrayOfValues.reduce((obj, element, index) => { obj[index * 2] = element; return obj; }, {})
我们在上面的语法中使用 {} (空对象)初始化了对象。我们将数组的每个元素存储在 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>
我们在 JavaScript 中使用了 map、object 和 array.reduce() 方法以键值格式存储数据。地图是以键值格式存储数据的最佳方式。