![](/img/trans.png)
[英]How to map an array of nested arrays grouped by desired object values
[英]How to grouped values in object?
我写了一个 function,它允许你在 object 中对值进行分组,但它不能正常工作
这是我的变化
const response = Object.values(
footerMenu.reduce((acc, key) => {
const { databaseId, parentDatabaseId } = key;
acc[parentDatabaseId] = (acc[parentDatabaseId] || []).concat(key);
return acc;
}, {})
);
示例数据:
[{parentDatabase: 0, databaseId: 5728}, {parentDatabseId: 5728, databaseId: 5762}....{parentDatabse: 0, databaseId: 4532}, {parentDatabaseId: 4532, databaseId: 3221} ...]
如何对项目进行分组,以便父数据库 Id == 0 具有与其相关的自己的项目
您必须对数组执行简单的操作——按 parentDatabaseId 对项目进行分组
通常的方法是通过正确的回调 function 调用 array.reduce() 方法:
let array=[{parentDatabase: 0, databaseId: 5728}, {parentDatabase: 5728, databaseId: 5762},{parentDatabase: 0, databaseId: 4532}, {parentDatabase: 4532, databaseId: 3221} ] const groupByDbId = array.reduce((group, item) => { const { parentDatabase } = item; group[parentDatabase] = group[parentDatabase]?? []; group[parentDatabase].push(item); return group; }, {}); console.log(JSON.stringify(groupByDbId, null, 2));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.