📅  最后修改于: 2023-12-03 15:26:22.001000             🧑  作者: Mango
在JavaScript中,我们可以使用map
方法对数组进行遍历处理。当对一个包含对象的数组进行遍历时,我们经常需要更改对象中的某个键名。下面是一些关于如何更改对象数组中的键名的方法。
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
键。
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
键。
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"
,并将其值设置为原始值。否则,我们直接创建一个新的键,并将其值设置为原始值。
以上就是更改对象数组中键名的三种方法。根据具体情况,您可以选择适合自己的方法来更改键名。