2011-02-12 93 views
0

下面的代碼是否安全?你會如何完成同樣的事情?抓鬥參考,設置默認值

說我有一個對象x。我想爲x中的某個鍵添加一些值,將該鍵設置爲空數組,如果它不在那裏:

var x = {}; 
var a = x['k'] = x['k'] || []; 
a.push('moo'); 

回答

2

試試這個嗎?

var x = {}, a = 'k' in x ? x['k'] : []; 

編輯

var x = {}, a = []; 

if (x['k']) { 
    a = x['k']; 
} else { 
    x['k'] = a; 
} 
+0

我認爲不會離開我隨x [ 'K'] ===一個?有趣的是看到「在」運營商雖然。沒有意識到這是可用的。 – 2011-02-12 01:43:07