有没有办法在JavaScript对象文字中使用variables键?
我有这样的代码。
var key = "anything"; var object = { key: "key attribute" };  我想知道是否有办法用“任何东西”replace这个key 。 
喜欢
 var object = { "anything": "key attribute" }; 
	
是。 您可以使用:
 var key = "anything"; var json = { }; json[key] = "key attribute"; 
或者,如果您在编写程序时手头有值,就直接使用第二种方法。
在ES6中,使用计算的属性名称 。
 const key = "anything"; const object = { [key]: "key attribute" // ^^^^^ COMPUTED PROPERTY NAME }; 
 注意key的方括号。 实际上你可以在方括号中指定任何expression式,而不仅仅是一个variables。 
这应该做的伎俩:
 var key = "anything"; var json = {}; json[key] = "key attribute"; 
解:
 var key = "anything"; var json = {}; json[key] = "key attribute"; 
闭合效果很好。
 function keyValue(key){ return function(value){ var object = {}; object[key] = value; return object; } } var key = keyValue(key); key(value); 
最近需要一个解决scheme如何设置cookie传递dynamicjson键值。 使用https://github.com/js-cookie/js-cookie#json ,可以轻松完成。 希望将每个select的用户选项值存储在cookie中,所以在选项卡或浏览器closures的情况下不会丢失。
 var json = { option_values : {} }; $('option:selected').each(function(index, el) { var option = $(this); var optionText = option.text(); var key = 'option_' + index; json.option_values[key] = optionText; Cookies.set('option_values', json, { expires: 7 } ); }); 
然后,您可以使用每个页面加载检索每个Cookie密钥值
 Cookies.getJSON('option_values'); 
那么,没有一个“直接”的方式来做到这一点…
但是这应该做到这一点:
 json[key] = json.key; json.key = undefined; 
它有点棘手,但嘿,它的作品!