2013-07-15 24 views
0

什麼是正確的方法來初始化在此設置的對象:隱含的JavaScript對象創建

for(var key in (assoc_array||{other.dict.id: other.dict})){ 

} 

在這裏,我得到一個錯誤,在部分點「other.object.id」不應該存在。所以工作的方式是:

var default_object = {} 
default_object[other.dict.id] = other.dict; 
for(var key in (assoc_array||default_object)){ 
    ... 
} 

有必要隱式聲明默認對象的方法嗎?

+0

你的第二個代碼是去我唯一的出路相信。你不能擁有像「{other.dict.id:other.dict}」這樣的動態鍵名。你也試圖擴展'assoc_array'? – Shawn31313

+0

JavaScript中的空對象是真的,只是你知道。 – Blender

+0

不需要擴展,而是儘可能使用盡可能少的代碼來初始化具有動態密鑰名稱和值對的數組。 :) – mkschreder

回答

0

我不認爲這是可能的樣子,

您可能需要使用的功能來做到這一點

function createObj(key, val){ 
    var obj = {}; 
    obj[key] = val; 
    return val; 
} 

for(var key in (assoc_array||createObj(other.dict.id, other.dict))){ 

} 

演示:Fiddle