[英]lodash using groupBy on Object
我想使用 lodash 中的 groupBy ,我想實現如下所示。 我有這個代碼,我想從這個轉換它
[{
id: 1,
name: 'campaign_application_view',
description: 'Campaign Apply - View',
category: 'Campaign'
},
{
id: 2,
name: 'pixel_application_view',
description: 'Pixel Apply - View',
category: 'Pixels'
}
];
對此
{
Campaign: {
selected: [],
items: [{
id: 1,
name: 'campaign_application_view',
description: 'Campaign Apply - View',
category: 'Campaign'
}
]
},
Pixels: {
selected: [],
items: [{
id: 2,
name: 'pixel_application_view',
description: 'Pixel Apply - View',
category: 'Pixels'
}
]
}
}
lodash _groupBy
只是讓我將其分組為{Campaign: [], Pixels: []}
分組后使用_.mapValues()
轉換為所需的形式:
const arr = [{"id":1,"name":"campaign_application_view","description":"Campaign Apply - View","category":"Campaign"},{"id":2,"name":"pixel_application_view","description":"Pixel Apply - View","category":"Pixels"}]; const result = _.mapValues( _.groupBy(arr, 'category'), items => ({ selected: [], items }) ); console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.21/lodash.min.js" integrity="sha512-WFN04846sdKMIP5LKNphMaWzU7YpMyCU245etK3g/2ARYbPK9Ub18eG+ljU96qKRCWh+quCY7yefSmlkQw1ANQ==" crossorigin="anonymous"></script>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.