Bar*_*más 35 javascript arrays
我正在构建和数组,其中我的数组键是来自这样的变量:
var art = $('#article_id').val();
var stk = $('#stk').val();
elements ={ art : stk };
alert(elements[art]);
Run Code Online (Sandbox Code Playgroud)
但我最终得到的输出art=>50而不是5123=>50
Jon*_*Jon 68
ES 2015通过称为计算属性名称的功能为此提供支持(尽管规范的相关部分称为"对象初始化程序").
简单地说,用方括号包围变量(通常是任何表达式)来评估它并将结果用作属性名称.在你的例子中
elements = { [art]: stk };
Run Code Online (Sandbox Code Playgroud)
你不能像这样创建对象文字.你需要写
elements = {};
elements[art] = stk;
Run Code Online (Sandbox Code Playgroud)
之所以elements = { art: stk }不起作用,是因为它等同于elements = { "art": stk }(带引号).只要art是合法的标识符,这两个版本在JavaScript中是等效的,第二个版本清楚地说明了正在发生的事情.
| 归档时间: |
|
| 查看次数: |
34210 次 |
| 最近记录: |