javascript - Javascript 性能和比较对象与对象的属性
问题描述
在 javascript 中,通过属性或具有大量属性的整个对象进行比较是否更快?以下是我目前拥有的,但我的对象有很多属性,而且对象列表非常大。从单个属性创建一个列表id
并比较id
对象是否更好?objectids.indexOf(object1.id)
. 我会看到性能提升吗?
与对象比较
objects.indexOf(object1);
function Object() {
this.id = 1;
this.name = "test";
}
解决方案
请注意,两个版本并不等效:
({ id: 1}) === ({ id: 1 }) // false
({ id: 1}).id === ({ id: 1 }).id // true
如果两种情况的工作方式相同indexOf
,则必须平均遍历数组的一半才能获得索引,那么该数组是 id 数组还是对象数组并不重要。要获得O(1)
查找时间,请改用 a Set
。
推荐阅读
- android - 我希望图像和文本一起水平,图片在文本上方,在 Android Studio 的 RecycleView 和 CardView
- flutter - 在 Flutter 的 Row 小部件中渲染 CheckboxListTile 小部件时出错
- javascript - 遵循 webpack 的官方指南时加载 css 时出错
- vb.net - 为字典 Vb.Net 中的数据添加排名
- python - 如何从汤对象中删除所有可导航字符串?
- ruby - Jekyll 无法找到默认布局
- node.js - 如何在nodejs获取请求中访问axios参数
- symfony - Symfony 的用户及其相关实体应该序列化哪些字段?
- android - 设备错误:警告:意外的“-prop”值(“emu.uuid=520cf82a-fcb6-4b6a-b5c4-386e635c8ba6”),仅支持“qemu.*”属性
- three.js - Three.js 中的相机“扭曲”