首页 > 解决方案 > 当对象文字优先于数组定义时定义键:值对结构时?

问题描述

假设我想定义一个包含不同键:值组合的结构。什么时候我更喜欢第一而不是第二?

hashMap = [ ] 

hashMap["first"] = 1

object = { first : 1 }

object["first"] == hashMap["first"] // so they are the same basically

标签: javascripttypeshashmap

解决方案


总是。数组用于有序的值列表。尽管它们碰巧继承自Object.prototype,但没有人会期望数组具有其数字索引之外的值(在大多数情况下) - 这将是混淆的主要来源。这不是数组的用途。

如果你想要一个键值对的集合,总是更喜欢一个普通的对象而不是一个数组。对象用于键值对的集合。数组仅用于值的有序集合。


推荐阅读