首页 > 解决方案 > 从Javascript中的对象数组更改var名称

问题描述

我一直在努力从对象数组中更改列名。其中一个列名包含空格。

var array = [{"First Name":"John", "Last Name":"Doe", "age":46}, {"First Name":"Tim", "Last Name":"Jones", "age":26}, {"First Name":"Marcus", "Last Name":"Brown", "age":31}, {"First Name":"Paul", "Last Name":"Daniels", "age":28}];

我想将对象列名称更改为 firstName 或 first_name,因此数组可能如下:

var array = [{"first_name":"John", "Last Name":"Doe", "age":46}, {"first_name":"Tim", "Last Name":"Jones", age:26}, {"first_name":"Marcus", "Last Name":"Brown", "age":31}, {"first_name":"Paul", "Last Name":"Daniels", "age":28}];

我尝试了这样的映射,但它不起作用,因为我可以在映射函数中做到这一点:

...
 .map(({ [First Name], age}) => ({ [First Name], age}))
...

我想在映射之前更改列名,所以我会这样做:

...
 .map(({ first_name, age}) => ({ first_name, age}))
...

标签: javascriptarraysobjectvariables

解决方案


根据评论,我将您的 JSON 修改为有效,现在您可以遍历它并创建一个具有所需结果的新对象:

let array = [{"First Name": "John", "Last Name":"Doe", age:46}, {"First Name":"Tim", "Last Name":"Jones", age:26}, {"First Name":"Marcus", "Last Name":"Brown", age:31}, {"First Name":"Paul", "Last Name":"Daniels", age:28}];

let modifiedArray = array.map(item => {
   return {
     first_name: item["First Name"],
     "Last Name": item["Last Name"],
     age: item.age
   }
 });

console.log(modifiedArray);

我希望它有帮助!


推荐阅读