Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.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_Arrays_Object - Fatal编程技术网

Javascript 数组+;矩阵=对象数组

Javascript 数组+;矩阵=对象数组,javascript,arrays,object,Javascript,Arrays,Object,我有两个阵列: arr1 = [name, speed, power, energy]; arr2 = [ [Ed, 10, 20, 30], [Robert, 15, 25, 35], [Paul, 8, 18, 28] ]; 如何将这两个数组组合成一个对象数组,第一个数组用于键,第二个数组用于值 arr3 = [ { name: "Ed", speed:"10", power:"20", energy:"30" }, { na

我有两个阵列:

arr1 = [name, speed, power, energy];
arr2 = [
  [Ed, 10, 20, 30],
  [Robert, 15, 25, 35],
  [Paul, 8, 18, 28]
];
如何将这两个数组组合成一个对象数组,第一个数组用于键,第二个数组用于值

arr3 = [
  {
    name: "Ed",
    speed:"10",
    power:"20",
    energy:"30"
  },
  {
    name: "Robert",
    speed:"15",
    power:"25",
    energy:"35"
  },
  {
    name: "Paul,
    speed:"8",
    power:"18",
    energy:"28"
  }
];

您只需使用
map

arr2.map(行=>{
常数名称=项[0];
恒速=项目[1];
恒功率=第[2]项;
常数能量=项目[3];
返回{名称、速度、功率、能量}
})
在给定的
arr2
上运行此命令将得到以下结果

var arr2=[['Ed',10,20,30],'Robert',15,25,35],'Paul',8,18,28];
var arr3=arr2.map(行=>{
常数名称=项[0];
恒速=项目[1];
恒功率=第[2]项;
常数能量=项目[3];
返回{名称、速度、功率、能量}
});
控制台日志(arr3)
//arr3=[
//{名称:“Ed”,速度:10,功率:20,能量:30},
//{姓名:“罗伯特”,速度:15,功率:25,能量:35},
//{名字:“保罗”,速度:8,力量:18,能量:28}
// ]

您可以使用
map

arr2.map(行=>{
常数名称=项[0];
恒速=项目[1];
恒功率=第[2]项;
常数能量=项目[3];
返回{名称、速度、功率、能量}
})
在给定的
arr2
上运行此命令将得到以下结果

var arr2=[['Ed',10,20,30],'Robert',15,25,35],'Paul',8,18,28];
var arr3=arr2.map(行=>{
常数名称=项[0];
恒速=项目[1];
恒功率=第[2]项;
常数能量=项目[3];
返回{名称、速度、功率、能量}
});
控制台日志(arr3)
//arr3=[
//{名称:“Ed”,速度:10,功率:20,能量:30},
//{姓名:“罗伯特”,速度:15,功率:25,能量:35},
//{名字:“保罗”,速度:8,力量:18,能量:28}
// ]

Ruby调用了这个非常有用的方法,因此基本上您希望每个
arr2
都使用JavaScript。换句话说,zip
arr1
键包含每个人的属性

下面是一个代码片段,它实现了一个基本的
zip
函数,然后使用它以您要查找的格式创建对象:

arr1=[“名称”、“速度”、“功率”、“能量”];
arr2=[
[“Ed”,10,20,30],
[“罗伯特”,15、25、35],
[“保罗”,8、18、28],
];
Array.prototype.zip=函数(a){
返回这个.map((k,i)=>[k,a[i]]);
};
arr3=arr2.map(p=>Object.fromEntries(arr1.zip(p));

控制台日志(arr3)
Ruby调用了这个非常有用的方法,因此基本上您希望对每个
arr2
使用JavaScript。换句话说,zip
arr1
键包含每个人的属性

下面是一个代码片段,它实现了一个基本的
zip
函数,然后使用它以您要查找的格式创建对象:

arr1=[“名称”、“速度”、“功率”、“能量”];
arr2=[
[“Ed”,10,20,30],
[“罗伯特”,15、25、35],
[“保罗”,8、18、28],
];
Array.prototype.zip=函数(a){
返回这个.map((k,i)=>[k,a[i]]);
};
arr3=arr2.map(p=>Object.fromEntries(arr1.zip(p));

控制台日志(arr3)首先,我假设令牌
名称
速度
功率
能量
实际上是字符串,您忘记了包含引号

fromEntries方法获取元组数组(两个项数组)并将其转换为对象

如果我们使用arr2中每个数组的值压缩arr1中的键,就可以实现所需的映射

arr1=[“名称”、“速度”、“功率”、“能量”];
arr2=[“Ed”,10,20,30],“Robert”,15,25,35],“Paul”,8,18,28];
arr3=arr2.map(objArr=>
Object.fromEntries(arr1.map)(键,i)=>
[key,objArr[i]///键值元组
))
)

控制台日志(arr3)首先,我假设令牌
名称
速度
功率
能量
实际上是字符串,您忘记了包含引号

fromEntries方法获取元组数组(两个项数组)并将其转换为对象

如果我们使用arr2中每个数组的值压缩arr1中的键,就可以实现所需的映射

arr1=[“名称”、“速度”、“功率”、“能量”];
arr2=[“Ed”,10,20,30],“Robert”,15,25,35],“Paul”,8,18,28];
arr3=arr2.map(objArr=>
Object.fromEntries(arr1.map)(键,i)=>
[key,objArr[i]///键值元组
))
)

控制台日志(arr3)欢迎来到StackOverflow。请创建一个最小的可复制示例。希望您在寻求帮助之前先尝试解决问题。欢迎使用StackOverflow。请创建一个最小的可复制示例。我希望你在寻求帮助之前先尝试解决问题。我总是得到同样的回答:“Object.fromEntries不是函数”你是在IE上还是在旧浏览器上?我使用的是chrome。比72版更新吗?如果是这样,那么你就不应该得到“Object.fromEntries不是函数”,因为它是受支持的。v.81,可能我在某个地方搞砸了。我总是得到同样的答案:“Object.fromEntries不是函数”你是在IE上还是在旧浏览器上?我使用的是chrome。比72版更新吗?如果是这样的话,那么您就不应该得到“Object.fromEntries不是函数”,因为它是受支持的。v.81,可能我在某个地方搞砸了。