总的来说,这里的答案是:做什么最能让你写出最简单,最清晰的代码;并担心任何性能或内存问题,如果你真的遇到一个。
使用与命名属性对象的数组,可能会在对现代JavaScript引擎的访问时间方面会更有效率,并可能会在内存使用方面效率较低。在这两种情况下,区别将是令人难以置信的轻微,可能不易察觉。
如果值是数字和你的数组可以是固定大小的,你可以使用typed arrays,因为他们真的是数组(其中为normal arrays aren't 除非JavaScript引擎可以做到这一点作为优化)。但是也有缺点为键入的阵列(其被固定大小,例如),如此反复,如果和当需要...对象的数组与命名属性的
实施例:
var properties = [
{mass: 0, speed: 0, age: 0},
{mass: 1, speed: 1, age: 1},
// ...
];
如果你使用ES2015(你说你正在使用Chrome,这样你就可以),你可能会做一个const
:
const properties = [
{mass: 0, speed: 0, age: 0},
{mass: 1, speed: 1, age: 1},
// ...
];
这只有使得properties
恒定的,而不是数组的内容它指向,因此您仍然可以根据需要添加,删除或修改条目。
这是对我的贫血的小博客的一篇文章。
性质[128] =你不保持三个不同的arrays..everything可以看出{质量= 0.0,速度= 0.0,年龄= 0} ..我觉得这是做的最好的做法......有了这个在属性数组中,所以内存中的一个数组与三个内存中的数组 – Geeky
如果这些示例是有效的JavaScript,这将有所帮助。像mass [128] = {0.0}'这样的东西可能真的有很多不同的东西。无论如何,我无法想象会有什么实际的区别。 – JJJ
两种方法都是SyntaxError,所以它是一样的。 – Oriol