สมมติเรามีอาร์เรย์สตริงสองอาร์เรย์ที่มีข้อมูลผู้ใช้แบบนี้:
const users = ['Rahul', 'Dinesh', 'Rohit']; const data = ["SOP1", "SOP2","SOP3","SOP4"];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์ทั้งสองและคืนอาร์เรย์ใหม่ของออบเจกต์
อาร์เรย์ใหม่ควรมีออบเจกต์สำหรับทุกการรวมที่เป็นไปได้ของ user และ data array
ดังนั้น สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรเป็น:
const output = [
{ User: 'Rahul', SOP: 'SOP1' },
{ User: 'Rahul', SOP: 'SOP2' },
{ User: 'Rahul', SOP: 'SOP3' },
{ User: 'Rahul', SOP: 'SOP4' },
{ User: 'Dinesh', SOP: 'SOP1' },
{ User: 'Dinesh', SOP: 'SOP2' },
{ User: 'Dinesh', SOP: 'SOP3' },
{ User: 'Dinesh', SOP: 'SOP4' },
{ User: 'Rohit', SOP: 'SOP1' },
{ User: 'Rohit', SOP: 'SOP2' },
{ User: 'Rohit', SOP: 'SOP3' },
{ User: 'Rohit', SOP: 'SOP4' }
];
ตัวอย่างโค้ด
const users = ['Rahul', 'Dinesh', 'Rohit'];
const data = ["SOP1", "SOP2","SOP3","SOP4"];
const multiplyUserData = (users = [], data = []) => {
const res = [];
users.forEach(user => {
data.forEach(el => {
res.push({
'user': user,
'sop': el
});
});
});
return res;
};
console.log(multiplyUserData(users, data));
ผลลัพธ์
ผลลัพธ์ที่แสดงในคอนโซลจะเป็นดังนี้:
[
{ user: 'Rahul', sop: 'SOP1' },
{ user: 'Rahul', sop: 'SOP2' },
{ user: 'Rahul', sop: 'SOP3' },
{ user: 'Rahul', sop: 'SOP4' },
{ user: 'Dinesh', sop: 'SOP1' },
{ user: 'Dinesh', sop: 'SOP2' },
{ user: 'Dinesh', sop: 'SOP3' },
{ user: 'Dinesh', sop: 'SOP4' },
{ user: 'Rohit', sop: 'SOP1' },
{ user: 'Rohit', sop: 'SOP2' },
{ user: 'Rohit', sop: 'SOP3' },
{ user: 'Rohit', sop: 'SOP4' }
]