我需要按類別代碼和類別名稱以及其他欄位進行分組以添加物件。樣本資料:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":A
},
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":B
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":B
}
]
雖然 javascript 我需要預期的輸出:
[
{
"categoryCode":"categoryCode1",
"categoryName":"categoryName1",
"cat_type":[A,B]
},
{
"categoryCode":"categoryCode2",
"categoryName":"categoryName2",
"cat_type":[B]
}
]
如何實作這一目標。
uj5u.com熱心網友回復:
你可以通過reduce來實作。
const arr = [{
"categoryCode": "categoryCode1",
"categoryName": "categoryName1",
"cat_type": "A"
},
{
"categoryCode": "categoryCode1",
"categoryName": "categoryName1",
"cat_type": "B"
},
{
"categoryCode": "categoryCode2",
"categoryName": "categoryName2",
"cat_type": "B"
}
]
const result = Object.values(
arr.reduce((a, {
categoryCode,
categoryName,
cat_type
}) => (((a[`code_${categoryCode}_name_${categoryName}`] ??= {
categoryCode,
categoryName,
cat_type: []
}).cat_type.push(cat_type)), a), {})
);
console.log(result)
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/310035.html
