javascript - 项目的对象或数组
问题描述
我有两种变体可以处理充满数据的对象:
let global_obj = {
"id0": { /*big object 0*/},
"id1": { /*big object 1*/},
"id2": { /*big object 2*/}
};
和:
let global_arr = [
{ id: "id0" /*big object 0*/},
{ id: "id1" /*big object 1*/},
{ id: "id2" /*big object 2*/}
];
因此,我可以将充满数据的大对象保存在全局数组或全局对象中。哪种方式在性能方面更好(循环、删除、添加新对象)?
我将经常通过它们的 id 来处理特定对象,更改对象的属性,循环处理它们。
解决方案
在这种情况下,我会使用一个对象,因为通过id查找元素更容易/更快。如果元素的索引/顺序很重要,对象在这里没有帮助,您需要使用数组。
基本上:
- 对象:键控集合
- 数组:有序集合
但如果环境支持 ES2015,常规对象和数组并不是唯一的选择。ES2015 引入了几个用于处理集合的 API:Map、Set、WeakMap 和 WeakSet。
推荐阅读
- node.js - 使用“put”插入之前的 DynamoDB 值搜索
- php - 循环条件 where
- haproxy - HAProxy 转发请求规则
- python - 相当于 kubernetes python 客户端中的“kubectl cluster-info”?
- c++ - 如何将双引号字符串与字符进行比较?
- wso2 - 在 wso2 身份服务器中如何验证 Ouath2 令牌并获取用户属性
- javascript - 从网页发送whatsapp消息而不打开whatsapp web
- python - 获取 PygAnimation 对象的 x 和 y 位置以进行碰撞检测
- spring - Spring Flowable Vs State Machine,使用哪一个
- javascript - 使用javascript在shadow root中获取html元素