JavaScript更改JavaScript中某些值的键,并保持其他键不变



我正在尝试更改JavaScript中某些值的键,并将其他键维护为相同的

这就是我尝试的

const xHeading = "State", yHeading = "Value";
//The key percentage can change dynamically
const data = [{name: "California", y: 1079, percentage: 14.97},
{name: "Florida", y: 874, percentage: 12.12},
{name: "Texas", y: 770, percentage: 10.68},
{name: "New York", y: 523, percentage: 7.25},
{name: "Arizona", y: 430, percentage: 5.96}];
// this is what i tried
const exportData =   
data.map((item) => {
const { name, y, z, ...noA } = item;
return data.map((item) => ({
[xHeading]: name,
[yHeading]: y,        
...noA,
}));
});
//output: The keys are changing but its creating multiple arrays
// Expected Output
[{State: "California", Value: 1079, percentage: 14.97},
{State: "Florida", Value: 874, percentage: 12.12},
{State: "Texas", Value: 770, percentage: 10.68},
{State: "New York", Value: 523, percentage: 7.25},
{State: "Arizona", Value: 430, percentage: 5.96}];

您可以使用Array.prototype.map()方法。使用map方法遍历数组并更改所需的关键点。

const data = [
{ name: 'California', y: 1079, percentage: 14.97 },
{ name: 'Florida', y: 874, percentage: 12.12 },
{ name: 'Texas', y: 770, percentage: 10.68 },
{ name: 'New York', y: 523, percentage: 7.25 },
{ name: 'Arizona', y: 430, percentage: 5.96 },
];
const xHeading = 'State';
const yHeading = 'Value';
const ret = data.map(({ name, y, ...rest }) => ({
[xHeading]: name,
[yHeading]: y,
...rest,
}));
console.log(ret);

最新更新