2010-11-23 54 views
0

這可能嗎?Javascript Dynamic Arrays and Object

所以我需要有一個動態名稱和內容的數組可以擴展和訪問。

object = {}; 
var two = ['thing', 'thing2']; 
for(one in two){ 
    object[two[one]] = []; 
} 

如果是的但不是這樣,那怎麼樣?

+2

呃?我不確定你在問什麼。另外,用`for-in`迭代`Array`被認爲是不好的做法;如果可用,使用C風格的for循環或使用Array.prototype.forEach。 – strager 2010-11-23 21:11:31

+0

對不起,這很難爲我解釋:\ – Adam 2010-11-23 21:13:21

回答

1

這絕對是可行的,只是確保對象擁有的財產,它不是從繼承了原型鏈越往上:

object = {}; 
var two = ['thing', 'thing2']; 

for..in

for(var one in two){ 
    if(two.hasOwnProperty(one)) 
     object[two[one]] = []; 
} 

for

for(var i = 0; i < two.length; i++) 
    object[two[i]] = []; 
1
var object = {}; 
var props = 'thing thing2'.split(' '); 
for (var i=0,len=props.length;i<len;++i){ 
    object[props[i]] = []; 
}