สมมติว่าเรามีสตริงสองอาร์เรย์ที่มีข้อมูลเกี่ยวกับผู้ใช้บางคนเช่นนี้ −
const users = ['Rahul', 'Dinesh', 'Rohit']; const data = ["SOP1", "SOP2","SOP3","SOP4"];
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่รับอาร์เรย์สองอาร์เรย์ดังกล่าวและส่งกลับอาร์เรย์ของออบเจ็กต์ใหม่
อาร์เรย์ใหม่ควรมีออบเจ็กต์สำหรับชุดค่าผสมที่เป็นไปได้ของผู้ใช้และอาร์เรย์ข้อมูล
ดังนั้น สำหรับอาร์เรย์ข้างต้น ผลลัพธ์ควรมีลักษณะดังนี้ −
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' }
]