値の配列を受け取り、オブジェクトJavaScriptを返す関数を作成するにはどうすればよいですか?
たとえば、混合データ型を含む配列を受け取り、データ型ごとにグループ化された要素を含むMap()を返す関数classifyArray()を作成する必要があるとします。
例-
// if the input array is: const arr = ['class', 2, [7, 8, 9], {"name": "Michael"}, Symbol('foo'), true, false, 'name', 6]; // then the output Map should be: Map(5) { 'string' => [ 'class', 'name' ], 'number' => [ 2, 6 ], 'object' => [ [ 7, 8, 9 ], { name: 'Michael' } ], 'symbol' => [ Symbol(foo) ], 'boolean' => [ true, false ] }
それでは、この関数のコードを書いてみましょう-
例
const arr = ['class', 2, [7, 8, 9], {"name": "Michael"}, Symbol('foo'), true, false, 'name', 6]; const classifyArray = arr => { return arr.reduce((acc, val) => { const previousData = acc.get(typeof val); if(previousData){ acc.set(typeof val, [...previousData, val]); }else{ acc.set(typeof val, [val]); }; return acc; }, new Map()); }; console.log(classifyArray(arr));
出力
コンソールの出力は-
になりますMap(5) { 'string' => [ 'class', 'name' ], 'number' => [ 2, 6 ], 'object' => [ [ 7, 8, 9 ], { name: 'Michael' } ], 'symbol' => [ Symbol(foo) ], 'boolean' => [ true, false ] }
-
JavaScriptで関数を呼び出す方法は?
JavaScriptを使用すると、独自の関数を作成することもできます。スクリプトの後半で関数を呼び出すには、その関数の名前を記述するだけです。 例 次のコードを実行して、JavaScriptで関数を呼び出す方法を学ぶことができます- <html> <head> <script> function sayHello() { document.w
-
JavaScript関数からオブジェクトを返す方法は?
JavaScript関数からオブジェクトを返すには、 returnを使用します ステートメント、 this キーワード。 例 次のコードを実行して、JavaScipt関数からオブジェクトを返すことができます- <html> <head> <script> var employee = { empname: "David"