ฉันมีอาร์เรย์พร้อมที่อยู่ของนักเรียนและผู้ปกครอง
ตัวอย่างเช่น,
const users = [{
id: 1,
name: 'John',
email: 'johnson@mail.com',
age: 25,
parent_address: 'USA',
relationship:'mother'
},
{
id: 1,
name: 'John',
email: 'johnson@mail.com',
age: 25,
parent_address: 'Spain',
relationship:'father'
},
{
id: 2,
name: 'Mark',
email: 'mark@mail.com',
age: 28,
parent_address: 'France',
relationship:'father'
}
];
ฉันพยายามจัดรูปแบบใหม่ตามผลลัพธ์ต่อไปนี้
const list = [
{
id: 1,
name: 'John',
email: 'johnson@mail.com',
age: 25,
parent: [
{
parent_address: 'USA',
relationship:'mother'
},{
parent_address: 'Spain',
relationship:'father'
}
]
},
{
id: 2,
name: 'Mark',
email: 'mark@mail.com',
age: 28,
parent:[
{
parent_address: 'France',
relationship:'father'
}
]
}
];
จนถึงตอนนี้ฉันได้ลองวิธีต่อไปนี้แล้ว ฉันไม่แน่ใจว่าเป็นวิธีที่ถูกต้องหรือไม่
const duplicateInfo = [];
for (var i = 0; i < user[0].length; i++) {
var parent = [];
if (duplicateInfo.indexOf(user[0][i].id) != -1) {
// Do duplicate stuff
} else {
// Do other
}
duplicateInfo.push(user[0][i].id);
}
const list = []ในตอนแรก user[0]แต่ที่ด้านล่างที่คุณย้ำกว่ารายการที่เห็นได้ชัดจากการทำซ้ำมากกว่า รหัสตัวอย่างของคุณควรสอดคล้องกัน
parent_addressและrelationshipเข้ากับparentวัตถุและรวมเข้าด้วยกันเมื่อพบชื่อและที่อยู่อีเมลซ้ำกัน