[英]Javascript: variable as array key
我是構建和數組,其中我的數組鍵是來自這樣的變量:
var art = $('#article_id').val();
var stk = $('#stk').val();
elements ={ art : stk };
alert(elements[art]);
但我最終得到這個輸出art=>50
而不是5123=>50
ES 2015通過稱為計算屬性名稱的功能為此提供支持(盡管規范的相關部分稱為“對象初始化程序”)。
簡單地說,用方括號包圍變量(通常是任何表達式)來評估它並將結果用作屬性名稱。 在你的例子中
elements = { [art]: stk };
你不能像這樣創建對象文字。 你需要寫
elements = {};
elements[art] = stk;
elements = { art: stk }
不起作用的原因是因為它等同於elements = { "art": stk }
(帶引號)。 這兩個版本在JavaScript中是等效的,只要art
是一個合法的標識符,第二個版本清楚地說明了正在發生的事情。
使用下面的方法向對象添加動態鍵。
elements = {};
elements[art] = stk;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.