性能比较:数组数组与对象数组

时间:2019-03-06 16:25:08

标签: javascript arrays performance object

例如,当使用2D坐标列表或RGB值列表时,有时我需要一个列表模型来存储许多具有相同结构的不同元素。

以RGB值示例为例,我有两种方法将每个元素存储在数组中:

// using small Array
var arrayOfArray = [[0, 0, 0], [110, 120, 130], ...]

// using Object
var arrayOfObject = [{r: 0, g: 0, b: 0}, {r: 110, g: 120, b: 130}, ...]

定义了数组之后,我需要执行一些操作:遍历每个元素,获取或设置元素的特定值,比较两个元素,等等。

但是,我不确定哪种方法最适合性能。使用小型数组还是使用对象更好?

我已经考虑过使用带有类型化值(如MDN所定义)的平面数组,这就是image data在Canvas中的存储方式,但是我更喜欢上面的结构。

我创建了一个JSPerf test case来比较两者,第一个结果( 06/03/19 )表示使用对象数组更快。

0 个答案:

没有答案