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

値の配列を受け取り、オブジェクト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 ]
}

  1. JavaScriptで関数を呼び出す方法は?

    JavaScriptを使用すると、独自の関数を作成することもできます。スクリプトの後半で関数を呼び出すには、その関数の名前を記述するだけです。 例 次のコードを実行して、JavaScriptで関数を呼び出す方法を学ぶことができます- <html>    <head>       <script>          function sayHello() {             document.w

  2. JavaScript関数からオブジェクトを返す方法は?

    JavaScript関数からオブジェクトを返すには、 returnを使用します ステートメント、 this キーワード。 例 次のコードを実行して、JavaScipt関数からオブジェクトを返すことができます- <html>    <head>       <script>          var employee = {             empname: "David"