Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/430.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_Object - Fatal编程技术网

Javascript 平面对象数组,将所有属性的值提取到数组的单个对象中

Javascript 平面对象数组,将所有属性的值提取到数组的单个对象中,javascript,object,Javascript,Object,我想从这里开始: [{ “uuid”:“oaiwngoiasofoi328”, “财产1”:3, “财产2”:3, 许多的 }, …许多] 为此: { “uuid”:['oaiwngoiasofoi328'、'829rh83hr9h9h29'、'mejieoainfoi'、…], “财产1”:[3,3,2,…], “财产2”:[3,3,2,…], 许多的 } 在源数组的每个对象中,所有属性的名称都相同 也许我可以用for循环和map 我已重新创建了您的环境。我想它可以帮助你 使用Array.

我想从这里开始:

[{
“uuid”:“oaiwngoiasofoi328”,
“财产1”:3,
“财产2”:3,
许多的
},
…许多]
为此:

{
“uuid”:['oaiwngoiasofoi328'、'829rh83hr9h9h29'、'mejieoainfoi'、…],
“财产1”:[3,3,2,…],
“财产2”:[3,3,2,…],
许多的
}
在源数组的每个对象中,所有属性的名称都相同


也许我可以用for循环和map

我已重新创建了您的环境。我想它可以帮助你

使用
Array.reduce()
将其简化为单个对象。
const数据=[
{
uuid:“adadkljalkd”,
“财产1”:3,
“财产2”:4,
},
{
uuid:'alkisdfj',
“财产1”:4,
“财产2”:5,
},
{
uuid:“klilkkll”,
“财产1”:7,
“财产2”:8,
}
];
const res=数据减少((acc,obj)=>{
Object.keys(obj.forEach)(key=>{
acc[键]=acc[键]| |[];
acc[键]。推送(obj[键]);
})
返回acc;
}, {});

控制台日志(res)是的,你可以。你试过了吗?我想知道是否有一个现有的例子,因为我仍在努力思考如何做这个。在过去的20分钟里,我一直在寻找类似的东西。我认为你应该从简单开始,尝试两个嵌套的
for
循环。reduce函数中的原始累加器只需要是一个对象而不是数组。用objectBrowser控制台初始化累加器的答案有时会欺骗你。数组不应该有属性,这是我的错。谢谢你@supercol。