Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> JavaScript

การเพิ่มทุกรายการจากอาร์เรย์หนึ่งเข้าไปในแต่ละรายการของอีกอาร์เรย์ใน JavaScript

สมมติเรามีอาร์เรย์สตริงสองอาร์เรย์ที่มีข้อมูลผู้ใช้แบบนี้:

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' }
]