我有一个看起来像这样的对象。关联数组元素与对象字段相同吗?
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