JS函数传递对象数据问题:返回对象键不符合预期
问题解决:动态设置JavaScript对象键值
问题原因
你当前代码里的{a: b}是把a当作固定字符串键,而非变量a的实际值。所以无论传入什么参数,对象的键都会是字符串"a",这就导致了返回结果和预期不符。
解决方案
使用ES6的计算属性名,把变量用方括号[]包裹,这样JavaScript会计算括号内变量的值,将其作为对象的键。修正后的代码如下:
function myFunction(a, b) { return { [a]: b } } console.log(myFunction('b','w')) // 输出 {b: 'w'}
补充说明
计算属性名的作用就是支持动态生成对象键,完美匹配你需要用第一个参数值作为键、第二个参数作为对应值的需求。
内容的提问来源于stack exchange,提问作者user3645311
相关产品推荐
相关产品推荐

