在我的代码中,我使用

callMethodWithHash({ 'key': "value" });


在将“键”分配给另一个变量(keyHolder)之前,一切工作正常。在这种情况下,显而易见的解决方案是:

var keyHolder = 'key';
callMethodWithHash(keyHolder: "value");


不起作用(how to assign variable value as variable name in a hash?),我需要再写几行:

var keyHolder = 'key';
var hash = {};
hash[keyHolder] = "value";
callMethodWithHash(hash);


我正在学习JS,想开发一种好的样式,但是感觉这3行很长。

有没有更有效的方法来创建和传递哈希?

谢谢。

最佳答案

var keyHolder = "key",
    hash = { [keyHolder]: "value" };

console.log(hash);


请记住,只有ES6才提供此功能。您始终可以看到其兼容性here。在这种特殊情况下,您应该查看计算属性名称功能,该功能位于对象文字扩展部分,称为:计算属性。

关于javascript - 如何以更优雅的方式重写哈希分配,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33087509/

10-16 14:01