是否可以在对象键中进行算术运算?
Is it possible to do arithmetic in Object keys?
我有一个对象,其中的键是任意值:
{
1300: 'banana',
267000: 'cheese',
4000000: 'goat'
}
在某些情况下,如果我做一些数学运算,其他人会更清楚,例如:
12 * 1000 * 1000: 'horse',
在 JavaScript 中可以用键进行数学运算吗?
我试过:
(12 * 1000 * 1000): 'horse',
但这是一个语法错误。
初始化对象时,不能使用数学定义键。但是,您可以使用更长的表示法:
obj[(12 * 1000 * 1000)] = 'horse';
编辑:显然,您确实可以在 ES6 中使用计算符号,如上所述。
var obj = {
1300: 'banana',
267000: 'cheese',
4000000: 'goat',
[12 * 1000 * 1000]: 'horse'
}
如果你的浏览器支持ES6,那么你可以使用"computed keys"。语法 接近 您尝试过的语法。如果您使用 []
,它应该可以工作:
{
[12 * 1000 * 1000]: 'horse'
}
Browser Support: Chrome, Firefox 34+, Safari 7.1+
当然可以。如果您使用的是 ES6,则可以使用以下表示法。它被称为Computed Property Names
{
1300: 'banana',
267000: 'cheese',
4000000: 'goat',
[12 * 1000 * 1000]: 'horse'
}
我有一个对象,其中的键是任意值:
{
1300: 'banana',
267000: 'cheese',
4000000: 'goat'
}
在某些情况下,如果我做一些数学运算,其他人会更清楚,例如:
12 * 1000 * 1000: 'horse',
在 JavaScript 中可以用键进行数学运算吗?
我试过:
(12 * 1000 * 1000): 'horse',
但这是一个语法错误。
初始化对象时,不能使用数学定义键。但是,您可以使用更长的表示法:
obj[(12 * 1000 * 1000)] = 'horse';
编辑:显然,您确实可以在 ES6 中使用计算符号,如上所述。
var obj = {
1300: 'banana',
267000: 'cheese',
4000000: 'goat',
[12 * 1000 * 1000]: 'horse'
}
如果你的浏览器支持ES6,那么你可以使用"computed keys"。语法 接近 您尝试过的语法。如果您使用 []
,它应该可以工作:
{
[12 * 1000 * 1000]: 'horse'
}
Browser Support: Chrome, Firefox 34+, Safari 7.1+
当然可以。如果您使用的是 ES6,则可以使用以下表示法。它被称为Computed Property Names
{
1300: 'banana',
267000: 'cheese',
4000000: 'goat',
[12 * 1000 * 1000]: 'horse'
}