javascript - 使用对象字面量作为哈希表是好习惯吗?

标签 javascript hash hashtable

使用对象字面量作为哈希表是好习惯吗?即使用属性名称作为键来获取特定的映射值。

例如:

var colorArray = [
    { code: "#4286f4", name: "Blue" }, 
    { code: "#fc4d02", name: "Red" }
]

var hashTable = {}

colorArray.forEach(color => {
  hashTable[color.code] = color.name
})

这是对象字面量的可接受用法,还是有一种模式可以更好地处理 JavaScript 中的 HashMap ?

最佳答案

在 ES6 之前,使用文字对象是在 JS 中拥有 HashMap 的唯一方法。从 ES6 开始,您还可以使用 Map :

const colorArray = [{code: "#4286f4" , name: "Blue"}, {code: "#fc4d02", name: "Red"}];

const map = new Map(colorArray.map(({ code, name }) => [code, name]));

console.log(map); // look at the browser's console

console.log(map.get("#4286f4"));

关于javascript - 使用对象字面量作为哈希表是好习惯吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47421699/

相关文章:

javascript - 添加地形网格后保持点可见 - Cesium

javascript - 如何通过 javascript 将较小的框插入表单框?

javascript - 使用 EmberJS 进行本地化

javascript - JavaScript 中的变量名拼写检查

javascript - Node.js:将请求的输出通过管道传输到 crypto.hash

c# - 如何让一个方法接受两种类型的数据作为参数?

Java哈希表搜索函数

arrays - 将数组数组转换为 Ruby 中的哈希数组

ruby - 如何在 Ruby 中通过数组存储和检索哈希

java - 匹配 Java SHA2 输出与 MySQL SHA2 输出