我有一個看起來像這樣的對象。關聯數組元素與對象字段相同嗎?
var obj = {
speed: 10,
volume: 14,
aux_deform: 1.8,
energy: 21.5,
aux_energy: 0.2
}
在運行時會添加額外的字段/屬性,因此該對象在任何給定時間都可以包含任意數量的屬性。正如你在我的對象例子中看到的,一些屬性可以以「aux_」開頭。
現在,我想從這個僅包含以「aux_」開始的屬性創建另一個對象。
我現在做的方式是這樣的。
var newObj = [];
for(prop in obj)
{
if (prop.startsWith('aux_'))
{
newObj[prop] = obj[prop];
}
}
現在我有一個新的對象,我可以這樣做:
alert(newObj.aux_energy);
這工作不錯,但我想知道如果這是正確的做法。有沒有更簡單的方法,或者我想要實現的更優雅的方式?這種創建對象的方式是否存在任何(安全或技術)問題/問題?
而且從標題的問題:是新創建的對象實際上屬性的關聯數組作爲鍵(因爲它創建的方式)或是否有任何區別。
在JS中沒有像關聯數組這樣的東西。 – kapa 2011-01-25 10:12:27