В JavaScript как я могу использовать параметр функции в качестве ключа к объекту? Например, следующий код печатает {key: 'b'} function myFunc(key, value) { myFunc2({key: value}); } function myFunc2(obj) { console.log(obj); } myFunc('a', 'b'); Как мне получить его для печати {'a': 'b'} Ответ 1 Вы можете добавлять свойства отдельно от конструкции: function myFunc(key, value) { var item = {}; item[key] = value; myFunc2(item); } Ответ 2 ES6 function myFunc(key, value) { myFunc2({[`${key}`]: value}); } Расширенные литералы объектов Ответ 3 var a=new Object(); a[key]=value; myFunc2(a); Ответ 4 Вы не можете, ключи в объектных литералах Javascript ({}) должны быть буквальными, а не переменной. Используйте обычный синтаксис объекта. function myFunc(key, value) { myObj = new Object(); myObj[key] = value; myFunc2(myObj); } Ответ 5 function myFunc(key, value) { var obj = new Object(); obj[key] = value; console.log(obj); } Ответ 6 : function myFunc(key, value) { var tmp = {}; myFunc2((tmp[key] = value,tmp)); }
Ответ 1 Вы можете добавлять свойства отдельно от конструкции: function myFunc(key, value) { var item = {}; item[key] = value; myFunc2(item); }
Ответ 2 ES6 function myFunc(key, value) { myFunc2({[`${key}`]: value}); } Расширенные литералы объектов
Ответ 4 Вы не можете, ключи в объектных литералах Javascript ({}) должны быть буквальными, а не переменной. Используйте обычный синтаксис объекта. function myFunc(key, value) { myObj = new Object(); myObj[key] = value; myFunc2(myObj); }