Computer >> Máy Tính >  >> Lập trình >> Javascript

Thêm tất cả các bản ghi từ một mảng vào mỗi bản ghi từ một mảng khác nhau trong JavaScript

Giả sử chúng ta có hai mảng chuỗi chứa dữ liệu về một số người dùng như thế này -

const users = ['Rahul', 'Dinesh', 'Rohit'];
const data = ["SOP1", "SOP2","SOP3","SOP4"];

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào hai mảng như vậy và trả về một mảng đối tượng mới.

Mảng mới phải chứa một đối tượng cho mỗi kết hợp có thể có của người dùng và mảng dữ liệu.

Do đó, đối với mảng trên, đầu ra sẽ giống như -

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

Ví dụ

Mã cho điều này sẽ là -

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));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

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