在我的代码中,我使用
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/