簡體   English   中英

Javascript:變量作為數組鍵

[英]Javascript: variable as array key

我是構建和數組,其中我的數組鍵是來自這樣的變量:

var art = $('#article_id').val();
var stk =  $('#stk').val();
elements ={ art : stk };
alert(elements[art]);

但我最終得到這個輸出art=>50而不是5123=>50

ECMAScript 2015(又名ES6 Harmony)

ES 2015通過稱為計算屬性名稱的功能為此提供支持(盡管規范的相關部分稱為“對象初始化程序”)。

簡單地說,用方括號包圍變量(通常是任何表達式)來評估它並將結果用作屬性名稱。 在你的例子中

elements = { [art]: stk };

原始答案(針對ES5)

你不能像這樣創建對象文字。 你需要寫

elements = {};
elements[art] = stk;

elements = { art: stk }不起作用的原因是因為它等同於elements = { "art": stk } (帶引號)。 這兩個版本在JavaScript中是等效的,只要art是一個合法的標識符,第二個版本清楚地說明了正在發生的事情。

使用下面的方法向對象添加動態鍵。

elements = {};
elements[art] = stk;

暫無
暫無

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

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