這可能是一個愚蠢的問題,但我正在尋找一種既美觀又簡潔的方式來創建一個對象,使用對象字面符號併爲其分配一個動態屬性。有沒有辦法創建一個對象並同時爲其分配一個動態屬性?
現在,我在做這樣的:
var foo = "lol";
var obj = {};
obj[foo] = "bar";
return obj;
// --> returns {lol:"bar"}
我想要做這樣的事情:
var foo = "lol";
return ({}[foo] = "bar");
// --> returns {lol:"bar"}
是否有某種方式來做到這一點?我不太在意可讀性,儘管如果可能的話我正在尋找緊湊的東西。
我可以這樣做,但它非常大,幾乎就像將語句分成多行。
var foo = "lol", obj;
return (obj = {}) && (obj[foo] = "bar") && obj;
我認爲你最好的選擇是創建一個指定屬性的函數。 –
@阿倫:(1)那是無效的JS。 (2)屬性名稱不是動態的。 –
是的。對不起我的錯誤 –