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

JavaScriptで単語とアナグラムをグループ化する


アナグラム:

お互いの文字を異なる順序で並べることで作成できる2つの単語またはフレーズは、ラットとタールのように、お互いのアナグラムと呼ばれます。

アナグラム文字列を含む可能性のある文字列の配列を受け取るJavaScript関数を作成する必要があります。この関数は、すべてのアナグラムを個別のサブ配列にグループ化し、このように形成された新しい配列を返す必要があります。

例-

入力配列が-

の場合
const arr = ['rat', 'jar', 'tar', 'raj','ram', 'arm', 'mar', 'art'];

その場合、出力配列は-

になります。
const output = [
   ['rat', 'tar', 'art'],
   ['jar', 'raj'],
   ['ram', 'arm', 'mar']
];

以下はコードです-

const arr = ['rat', 'jar', 'tar', 'raj','ram', 'arm', 'mar', 'art'];
const groupSimilarWords = (arr = []) => {
   if (arr.length === 0){
      return arr;
   };
   const map = new Map();
   for(let str of arr){
      let sorted = [...str];
      sorted.sort();
      sorted = sorted.join('');
      if(map.has(sorted)){
         map.get(sorted).push(str);
      }else{
         map.set(sorted, [str])
      };
   };
   return [...map.values()];
};
console.log(groupSimilarWords(arr));

出力

以下はコンソール出力です-

[ [ 'rat', 'tar', 'art' ], [ 'jar', 'raj' ], [ 'ram', 'arm', 'mar' ] ]

  1. 例を使用したJavaScriptでの継承

    JavaScriptは、プロトタイプに基づくオブジェクトベースの言語です。継承は、プロトタイプオブジェクトを使用してJavaScriptで実装されます。 以下は、JavaScriptで継承を実装するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-sc

  2. JavaScriptのグループ化演算子について説明します。

    グループ化演算子は、式の評価の優先順位を管理するために使用されます。 以下は、JavaScriptのグループ化演算子のコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document&l