簡體   English   中英

將具有屬性的對象推送到數組

[英]Push an object with a property to an array

我怎樣才能做到這一點:

var u = { code: 'foo' };
var a = [];
var o = {};
o[u.code] = 'bar';
a.push(o);

我本以為可以工作的以下內容無效:

a.push({ u.code: 'bar' });
a.push({ u['code']: 'bar' });

我可能只是在這里放屁...

您可以在ES5中編寫代碼的最短時間是:

var u = { code: 'foo' }, a = [{}];
a[0][u.code] = 'bar';

一旦瀏覽器支持計算的屬性 (ES6中附帶),您可以使用:

var u = { code: 'foo' }, a = [{[u.code]: 'bar'}];

您還可以使用ES6語法今天transpile它ES5。

菲利克斯·克林(Felix Kling)的答案是完全正確的 ,盡管有一種骯臟的選擇可以在一行中完成您想要的事情(不要告訴任何我告訴過您的人要做這種事情= P):

a.push(JSON.parse('{"{0}": "bar"}'.replace('{0}', u.code)))

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM