【发布时间】:2018-12-07 20:31:28
【问题描述】:
在 javascript 中,通过属性或具有大量属性的整个对象进行比较是否更快?下面是我目前拥有的,但我的对象有很多属性,而且对象列表非常大。从id 中的单个属性创建列表并比较对象的id 是否更好? objectids.indexOf(object1.id)。我会看到性能提升吗?
与对象比较
objects.indexOf(object1);
function Object() {
this.id = 1;
this.name = "test";
}
【问题讨论】:
-
您打算如何比较整个对象?在任何情况下,比较唯一标识符都是可行的方法。
-
比较数字比比较对象要快。
-
indexOf将比较对象引用,因此您需要展示如何填充objects以了解它是否可以工作... -
jsperf.com 进行测试并找出答案
-
jsfiddle.net/qx6wgem0/5 - 诚然,这可能并不完全正确,但是从对 20000 个简单对象的数据集运行 10000 次测试来看,看起来通过对象引用执行
indexOf大约是两倍快如按 ID 执行indexOf。
标签: javascript arrays performance