Bootstrap

JavaScript:遍历一个对象数组,获取每个对象中 mainKeyId 对应的值,并以这个值作为新属性的键名,给该对象添加一个新属性。

假设我们有一个对象数组,每个对象包含一个 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 的值作为新属性的键名(key1key2key3),并为其赋值 'new value'
  • 这样,每个对象都新增了一个以 mainKeyId 值为键名的属性。

参考资料:

  1. JavaScript forEach() 方法
  2. MDN - 对象
  3. MDN - 动态属性名
;