Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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,我想知道如何合并这个二维数组 let arr[ ['Reference', 'Price'], ['232323DD, 15.00] ]; 我想把这个转换成 [ {name: 'Reference', value: '232323DD'}, {name: 'Price', value: 15.00} ] 我试过这个: 但是它对我不起作用。您可以映射该数组中的第一个数组,并使用它们的值作为对象的键: 让arr=[ [“参考”、“价格”], ['23dd','15.00'] ]

我想知道如何合并这个二维数组

let arr[
  ['Reference', 'Price'],
  ['232323DD, 15.00]
];
我想把这个转换成

[
  {name: 'Reference', value: '232323DD'},
  {name: 'Price', value: 15.00}
]
我试过这个:
但是它对我不起作用。

您可以映射该数组中的第一个数组,并使用它们的值作为对象的键:

让arr=[
[“参考”、“价格”],
['23dd','15.00']
];
console.log(
arr[0].map((名称,i)=>({name,value:arr[1][i]}))

)
您可以映射该数组中的第一个数组,并将其值用作对象的键:

让arr=[
[“参考”、“价格”],
['23dd','15.00']
];
console.log(
arr[0].map((名称,i)=>({name,value:arr[1][i]}))
)
您可以使用
.map()

let[键、值]=[
[“参考”、“价格”],
[23dd',15.00]
];
让result=keys.map((k,i)=>({name:k,value:values[i]}));
控制台日志(结果)
.as控制台包装{max height:100%!important;top:0;}
您可以使用
.map()

let[键、值]=[
[“参考”、“价格”],
[23dd',15.00]
];
让result=keys.map((k,i)=>({name:k,value:values[i]}));
控制台日志(结果)

.as控制台包装{max height:100%!important;top:0;}
如果您不熟悉map,可以使用其他解决方案(我认为在本例中使用map会使阅读有点困难)。。。
const arr=[
[“参考”、“价格”],
[23dd',15.00]
]
常量obj=[]
arr.forEach(x=>obj.push({name:x[0],value:x[1]}))

console.log(obj)
如果您不熟悉map,可以使用其他解决方案(我认为在本例中使用map会使阅读有点困难)。。。
const arr=[
[“参考”、“价格”],
[23dd',15.00]
]
常量obj=[]
arr.forEach(x=>obj.push({name:x[0],value:x[1]}))

console.log(obj)
您可以使用映射功能。它将对每个数组项运行回调,并在新数组中返回它

//其中'arr'是原始数组
const new_arr=arr.map((项目)=>{
//这称为“分解分配”
常量[名称,值]=项目;
//将值作为对象中的字段返回
返回{name,value};

});您可以使用映射功能。它将对每个数组项运行回调,并在新数组中返回它

//其中'arr'是原始数组
const new_arr=arr.map((项目)=>{
//这称为“分解分配”
常量[名称,值]=项目;
//将值作为对象中的字段返回
返回{name,value};
});
让arr=[
[“参考”、“价格”],
['23dd','15.00']
];
让result=arr[0].map((key,i)=>({name:key,value:arr[1]?arr[1][i]:null}));
控制台日志(结果)
让arr=[
[“参考”、“价格”],
['23dd','15.00']
];
让result=arr[0].map((key,i)=>({name:key,value:arr[1]?arr[1][i]:null}));

控制台日志(结果)我将尝试对此进行分解:

// 1. create a new arr object:
let convertedArr = [];

// 2. loop over the original array:
for(let i = 0; i < arr.length; i++){

let currentItem = arr[i];

//create a temp object
let obj = {name:currentItem[0], value: name:currentItem[1] };

//push a new object to the array
convertedArr.push(obj);

}
//1。创建新的arr对象:
设convertedArr=[];
// 2. 在原始阵列上循环:
for(设i=0;i
我将尝试对此进行分解:

// 1. create a new arr object:
let convertedArr = [];

// 2. loop over the original array:
for(let i = 0; i < arr.length; i++){

let currentItem = arr[i];

//create a temp object
let obj = {name:currentItem[0], value: name:currentItem[1] };

//push a new object to the array
convertedArr.push(obj);

}
//1。创建新的arr对象:
设convertedArr=[];
// 2. 在原始阵列上循环:
for(设i=0;i
两个答案。@B001ᛦ两个答案。@B001ᛦ