如何在JavaScript中使用对象值作为另一个对象的键?
问题描述
现有如下对象:
const element = { name: 'first_name', value: 'Joe Blow', }
如何使用element.name作为键、element.value作为值来构建另一个对象?
我尝试了以下写法,但无法正常运行:
const data = { element.name: element.value, }
解决方法
用ES6的计算属性名就能解决,把要作为键的表达式用方括号[]包起来,JS会先计算表达式的值,再把它作为对象的键:
const data = { [element.name]: element.value, }
执行后data就是{ first_name: 'Joe Blow' },完全符合需求。
原写法失效原因
普通对象字面量里,直接写element.name会被当成字符串键"element.name",而不是去取element.name的实际值"first_name",所以达不到你想要的效果。
内容的提问来源于stack exchange,提问作者jdion84
相关产品推荐
相关产品推荐

