我想在下面的員工陣列中將重復的建筑物名稱顯示為陣列。
const employess = [
{
building_name: "A",
name: "John"
},
{
building_name: "B",
name: "John"
},
{
building_name: "A",
name: "Doe"
},
{
building_name: "c",
name: "John"
},
{
building_name: "B",
name: "Doe"
},
{
building_name: "C",
name: "David"
}
];
比如我想把它轉換成下面的陣列格式。
const employess = [
{
building_name: ["A", "B", "C"],
name: "John"
},
{
building_name: ["A", "B"],
name: "Doe"
},
{
building_name: ["C"],
name: "David"
}
]
非常感謝您的幫助。
uj5u.com熱心網友回復:
取自Merge JavaScript objects in array with same key
const employess = [{
building_name: "A",
name: "John"
},
{
building_name: "B",
name: "John"
},
{
building_name: "A",
name: "Doe"
},
{
building_name: "c",
name: "John"
},
{
building_name: "B",
name: "Doe"
},
{
building_name: "C",
name: "David"
}
]
let output = []
employess.forEach(function(item) {
var existing = output.filter(function(v, i) {
return v.name == item.name;
});
if (existing.length) {
var existingIndex = output.indexOf(existing[0]);
output[existingIndex].building_name = output[existingIndex].building_name.concat(item.building_name);
} else {
if (typeof item.building_name == 'string')
item.building_name = [item.building_name];
output.push(item);
}
});
console.log(output)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/450232.html
標籤:javascript 数组 目的 格式化
上一篇:使用螢屏鍵盤提交表單
