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

同一のエントリをサブ配列にグループ化する-JavaScript


たとえば、同じエントリを持つ数値の配列があるとします。配列を受け取り、すべての同一のエントリを1つのサブ配列にグループ化し、このように形成された新しい配列を返す関数を作成する必要があります。

例:入力配列が-

の場合
const arr = [234, 65, 65, 2, 2, 234];

その場合、出力は-

になります。
const output = [[234, 234], [65, 65], [2, 2]];

ハッシュマップを使用して、すでに発生した要素を追跡し、forループを使用して配列を反復処理します。

以下はコードです-

const arr = [234, 65, 65, 2, 2, 234];
const groupArray = arr => {
   const map = {};
   const group = [];
   for(let i = 0; i < arr.length; i++){
      if(typeof map[arr[i]] === 'number'){
         group[map[arr[i]]].push(arr[i]);
      }else{
         //the push method returns the new length of array
         //and the index of newly pushed element is length-1
         map[arr[i]] = group.push([arr[i]])-1;
      }
   };
   return group;
}
console.log(groupArray(arr));

出力

これにより、コンソールに次の出力が生成されます-

[ [ 234, 234 ], [ 65, 65 ], [ 2, 2 ] ]

  1. JavaScript array.entries()メソッド

    JavaScriptのarray.entries()メソッドは、キーと値のペアを持つArrayIteratorオブジェクトを返すために使用されます。 構文は次のとおりです- array.entries() ここで、JavaScriptでarray.entries()メソッドを実装しましょう- 例 <!DOCTYPE html> <html> <body>    <h2>Ranking Points</h2>    <p>Is any point equal to 550 fr

  2. JavaScriptのarray.entries()メソッド。

    JavaScriptのarray.entries()メソッドは、キーと値のペアを配列イテレータオブジェクトとして返します。 以下は、array.entries()メソッドのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /&