如何將變量做為一個對象的key,push進一個數組?


這樣的問題:

function(value, key) { ret.push({key: value}); }

key會被解析成字符串"key",期望是變量key 例當key="abc",value="123"
上述實際變成{"key":"123"} 應該是{"abc":"123"}
最直接的答案是 var o = {}; o[key] = value; ret.push(o);
但是有沒有更簡潔的方法?

以下是討論結果

@240 var a={},b=a[key]=value,c=ret.push(a); @hotor var c;ret.push((c={},c[a]=b,c)); @Gaubee ret.push(eval("({"+key+":\""+value+"\"})")); @hotor function(a,b,c){ret.push((c={},c[a]=b,c));} @240 ret[ret.push({})-1][key]=value; @Gaubee (ret[ret.length] = {})[key] = value;

自己的例子

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM