我想使用一個對象爲應用程序配置一些設置。我的想法是先從這樣的:基於對象屬性創建數組
var obj = {
property_one: 3;
property_two: 2;
property_three: 1;
}
而且我想用這個來結束:
var array = [
'property_one','property_one','property_one',
'property_two','property_two',
'property_three'
]
我目前的解決方案是爲每個屬性做到這一點:
function theConstructor(){
for(i=1; i <= obj.property_one; i++){
this.array.push('property_one');
};
for(i=1; i <= obj.property_two; i++){
this.array.push('property_two');
};
for(i=1; i <= obj.property_two; i++){
this.array.push('property_two');
};
}
但是這很乏味,因爲我可能有很多屬性,並且隨着應用程序的發展,這些屬性可能會發生變化。
我知道可以通過object
的屬性這樣的循環:
for (var key in obj) {
if (obj.hasOwnProperty(key)) {
array.push(key);
}
}
但是,這將值推到陣列,而不是鍵(作爲一個字符串)。關於如何更有效地做到這一點的任何想法?
你錯過了聲明變量'i'。 – FreeLightman
謝謝@FreeLightman修正了它。 –
非常感謝,不知道我怎麼沒有看到這回頭! – Joseph