假设我们有一个对象数组,每个对象包含一个 mainKeyId
字段,以 mainKeyId
的值作为新的键名,并给它添加一个新的属性。可以通过以下代码实现:
示例代码:
const arr = [{ mainKeyId: 'key1', name: 'Item 1', value: 10 },{ mainKeyId: 'key2', name: 'Item 2', value: 20 },{ mainKeyId: 'key3', name: 'Item 3', value: 30 }
];arr.forEach(item => {// 使用 mainKeyId 作为新的键名,给对象添加一个新的属性item[item.mainKeyId] = 'new value';
});console.log(arr);
结果:
[{ mainKeyId: 'key1', name: 'Item 1', value: 10, key1: 'new value' },{ mainKeyId: 'key2', name: 'Item 2', value: 20, key2: 'new value' },{ mainKeyId: 'key3', name: 'Item 3', value: 30, key3: 'new value' }
]
解析:
- 我们遍历了数组
arr
,对于每个对象,使用item.mainKeyId
的值作为新属性的键名(key1
、key2
、key3
),并为其赋值'new value'
。 - 这样,每个对象都新增了一个以
mainKeyId
值为键名的属性。
参考资料:
- JavaScript forEach() 方法
- MDN - 对象
- MDN - 动态属性名