總的來說,這裏的答案是:做什麼最能讓你寫出最簡單,最清晰的代碼;並擔心任何性能或內存問題,如果你真的遇到一個。
使用與命名屬性對象的數組,可能會在對現代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