Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで1つの配列のすべてのレコードを別の配列の各レコードに追加する


このような一部のユーザーに関するデータを含む文字列の配列が2つあるとします-

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

このような2つの配列を受け取り、オブジェクトの新しい配列を返す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' }
]

  1. JavaScript配列from()メソッド

    JavaScriptのfrom()メソッドは、lengthプロパティを持つ任意のオブジェクトまたは反復可能なオブジェクトからArrayオブジェクトを返すために使用されます。 構文は次のとおりです- Array.from(obj, mapFunction, val) 上記では、パラメータobjは配列に変換するオブジェクト、mapFunctionは呼び出すマップ関数、valはmapFunctionを実行するときにこれとして使用する値です。 JavaScriptでfrom()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body

  2. JavaScript Array.from()メソッド

    Array.from()は、指定された配列インスタンスから新しい配列オブジェクトを作成します。 以下は、配列from()関数のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Docume