Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript更改JavaScript中某些值的键,并保持其他键不变_Javascript_Arrays_Multidimensional Array - Fatal编程技术网

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

JavaScript更改JavaScript中某些值的键,并保持其他键不变,javascript,arrays,multidimensional-array,Javascript,Arrays,Multidimensional Array,我试图更改JavaScript中某些值的键,并将其他键保持不变 这就是我试过的 const xHeading = "State", yHeading = "Value"; //The key percentage can change dynamically const data = [{name: "California", y: 1079, percentage: 14.97}, {name: "Florida&quo

我试图更改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}];
你们可以使用这个方法。使用map方法遍历数组并更改所需的键

const数据=[
{姓名:'加利福尼亚',y:1079,百分比:14.97},
{姓名:“佛罗里达”,y:874,百分比:12.12},
{姓名:'Texas',y:770,百分比:10.68},
{姓名:'纽约',y:523,百分比:7.25},
{名称:“亚利桑那州”,y:430,百分比:5.96},
];
const xHeading='State';
常量yHeading=‘值’;
const ret=data.map({name,y,…rest})=>({
[xHeading]:名称,
[标题]:y,
休息
}));

控制台日志(ret)
您调用了
.map
两次,只需调用一次OP就知道
.map
-他们只是用错了。@Alnitak,对不起,我的错误。我没有看到它。谢谢,如果xHeading和yHeading不是变量,而是直接添加到
.map
函数中,那么这很好用。但是xHeading和yHeading是基于data@RizwanAhmedShivalli检查更新的代码。@mrhr谢谢