สมมติว่าเรามีสตริงสองอาร์เรย์ที่มีข้อมูลเกี่ยวกับผู้ใช้บางคนเช่นนี้ −
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' } ]