javascript - 当对象文字优先于数组定义时定义键:值对结构时?
问题描述
假设我想定义一个包含不同键:值组合的结构。什么时候我更喜欢第一而不是第二?
hashMap = [ ]
hashMap["first"] = 1
object = { first : 1 }
object["first"] == hashMap["first"] // so they are the same basically
解决方案
总是。数组用于有序的值列表。尽管它们碰巧继承自Object.prototype
,但没有人会期望数组具有其数字索引之外的值(在大多数情况下) - 这将是混淆的主要来源。这不是数组的用途。
如果你想要一个键值对的集合,总是更喜欢一个普通的对象而不是一个数组。对象用于键值对的集合。数组仅用于值的有序集合。
推荐阅读
- docker - 开始使用 docker-compose 时无法通过 Web UI 访问 Nifi
- amazon-web-services - 需要帮助理解 terraform 代码
- python - 更改命令 discord.py 所需的角色
- jquery - ReactJs - 如何将当前日期转换为 ISO 8601 格式?
- html - Infinite TranslateX CSS 无法在网站中按要求工作
- php - 有没有办法让 Laravel 7 多态关系与 Laravel 8 一起工作?
- android - android:notificationManager setWhen() 不起作用
- docker - 是否可以从一个 docker 容器提供两个或多个静态站点?
- php - 每个请求带有代理的 PHP Guzzle Pool 请求
- select - Blazor 阻止选择元素中的键盘输入