一、动态拼接对象
- 使用对象字面量(Object Literal):
const key = 'name'; const value = 'Alice'; const obj = { [key]: value }; console.log(obj); // 输出: { name: 'Alice' }
key
和value
来动态拼接对象中的键和值。通过将变量放在方括号[]
中,作为对象字面量的键。 - 使用Object.assign()方法:
const key = 'name'; const value = 'Alice'; const obj = Object.assign({}, { [key]: value }); console.log(obj); // 输出: { name: 'Alice' }
Object.assign()
方法将一个新对象和一个拥有动态键值的对象合并在一起。通过将空对象{}
作为第一个参数,可以确保创建一个新的对象。 -
使用ES6的展开运算符(Spread Operator):
const key = 'name'; const value = 'Alice'; const obj = { ...{ [key]: value } }; console.log(obj); // 输出: { name: 'Alice' }
使用展开运算符
...
将对象字面量{ [key]: value }
展开为新的对象。
二、动态添加对象属性
- 使用点符号:
const obj = {}; const key = 'name'; const value = 'Alice'; obj[key] = value; console.log(obj); // 输出: {name: 'Alice'}
使用变量
key
和value
来动态添加一个名为name
的属性到obj
对象中。通过将变量key
放在点符号后面,我们可以动态地指定属性的名字,并将其赋值为变量value。
- 使用方括号符号:
const obj = {}; const key = 'name'; const value = 'Alice'; obj[key] = value; console.log(obj); // 输出: {name: 'Alice'}
此方法也是使用变量
key
和value
来动态添加一个名为name
的属性到obj
对象中。不同的是,我们使用方括号符号来包裹变量key
,以动态地指定属性的名字。