📜  更改对象数组中的键名 javascript (1)

📅  最后修改于: 2023-12-03 15:26:22.001000             🧑  作者: Mango

更改对象数组中的键名 - JavaScript

在JavaScript中,我们可以使用map方法对数组进行遍历处理。当对一个包含对象的数组进行遍历时,我们经常需要更改对象中的某个键名。下面是一些关于如何更改对象数组中的键名的方法。

1. 使用for循环
const originalArray = [
  { name: "John", age: 23 },
  { name: "Jane", age: 27 },
  { name: "James", age: 19 }
];

for(let i = 0; i < originalArray.length; i++) {
  originalArray[i] = {
    firstName: originalArray[i].name,
    age: originalArray[i].age
  };
  delete originalArray[i].name; // 删除原键
}

console.log(originalArray);

这段代码会遍历originalArray数组,并将每个对象中的name键更改为firstName键。我们先创建一个原始的数组,然后使用for循环来遍历每个对象。在循环中,我们使用对象字面量创建一个新对象,将原来的name键的值赋值给新的firstName键。最后,我们可以使用delete操作符从原始对象中删除name键。

2. 使用map方法
const originalArray = [
  { name: "John", age: 23 },
  { name: "Jane", age: 27 },
  { name: "James", age: 19 }
];

const newArray = originalArray.map(obj => {
  return {
    firstName: obj.name,
    age: obj.age
  };
});

console.log(newArray);

这段代码与第一种方法相似,但是使用了ES6的语法。我们可以使用map方法来遍历数组,将每个对象中的name键更改为firstName键。在箭头函数中,我们返回一个新的对象,使用对象字面量创建一个新对象,将原来的name键的值赋值给firstName键。

3. 使用Object.keys方法
const originalArray = [
  { name: "John", age: 23 },
  { name: "Jane", age: 27 },
  { name: "James", age: 19 }
];

const newArray = originalArray.map(obj => {
  const newObj = {};
  Object.keys(obj).forEach(key => {
    if(key === "name") {
      newObj["firstName"] = obj[key];
    } else {
      newObj[key] = obj[key];
    }
  });
  return newObj;
});

console.log(newArray);

这段代码使用了Object.keys方法来获取每个对象的键名。我们可以使用forEach方法来遍历每个键,并用一个条件语句来判断是否需要更改键名。如果键名是"name",我们创建一个新的键名"firstName",并将其值设置为原始值。否则,我们直接创建一个新的键,并将其值设置为原始值。

以上就是更改对象数组中键名的三种方法。根据具体情况,您可以选择适合自己的方法来更改键名。