Javascript 如何创建具有多个关键点和元素的单个对象?

Javascript 如何创建具有多个关键点和元素的单个对象?,javascript,arrays,json,object,Javascript,Arrays,Json,Object,我有一个带有键及其数组元素的数组 当我将它从数组转换为对象时,我得到的是索引0和1,但这里我需要的索引应该是array1和array2 让输入=[{ “阵列1”:[{ “id”:1, “名称”:“测试1” }, { “id”:2, “名称”:“测试2” }] }, { “array2”:[{ “id”:1, “名称”:“测试1” }, { “id”:2, “名称”:“测试2” } ] } ]; 函数转换(arr){ 设obj=新对象(); arr.forEach((值,键)=>{ obj=值;

我有一个带有
及其
数组
元素的数组

当我将它从数组转换为对象时,我得到的是
索引
0和1,但这里我需要的索引应该是
array1
array2

让输入=[{
“阵列1”:[{
“id”:1,
“名称”:“测试1”
}, {
“id”:2,
“名称”:“测试2”
}]
},
{
“array2”:[{
“id”:1,
“名称”:“测试1”
},
{
“id”:2,
“名称”:“测试2”
}
]
}
];
函数转换(arr){
设obj=新对象();
arr.forEach((值,键)=>{
obj=值;
});
返回obj;
}

log(console.log(convert(input))
要获取具有所需键的单个对象,可以使用将所有项分配给单个对象

let input=[{array1:[{id:1,名称:“Test 1”},{id:2,名称:“Test 2”}]},{array2:[{id:1,名称:“Test 1”},{id:2,名称:“Test 2”}],,
object=object.assign(…输入);
console.log(对象)
.as控制台包装{最大高度:100%!重要;顶部:0;}
..
)是关键:

让输入=[{
“阵列1”:[{
“id”:1,
“名称”:“测试1”
}, {
“id”:2,
“名称”:“测试2”
}]
},
{
“array2”:[{
“id”:1,
“名称”:“测试1”
},
{
“id”:2,
“名称”:“测试2”
}
]
}
];
函数转换(arr){
返回arr.reduce((acc,curr)=>({…acc,…curr}),{});
}
console.log(转换(输入))
.as控制台包装{max height:100%!重要;top:auto;}
使用您的代码

function convert(arr) {
   let obj = new Object();
   arr.forEach((value, key) => {
     obj[key] = value;
   });
   return obj;
}

你在做
obj=value将意味着您每次都将obj重新指定为新值。

您只需要在对象中使用forEach函数的关键参数。我附上下面的代码,你可以看看

让输入=[{
“阵列1”:[{
“id”:1,
“名称”:“测试1”
}, {
“id”:2,
“名称”:“测试2”
}]
},
{
“array2”:[{
“id”:1,
“名称”:“测试1”
},
{
“id”:2,
“名称”:“测试2”
}
]
}
];
函数转换(arr){
设obj=新对象();
arr.forEach((值,键)=>{
obj[键]=值;
});
返回obj;
}

log(console(convert(input))
一些IDE将对象转换为您的新对象,而使用
let obj={}我相信它与