将一个数组中的所有记录添加到JavaScript中不同数组中的每个记录
假设我们有两个字符串数组,其中包含有关某些用户的数据,如下所示:
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' } ]