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

JavaScriptのランダム文字列に基づく配列の文字列の形成と照合


次のような名前を含む文字列の配列があるとします-

const arr = ['Dinesh', 'Mahesh', 'Rohit', 'Kamal', 'Jatin Sapru', 'Jai'];

そして、このような文字のランダムな文字列-

const str = 'lsoaakjm';

2つの引数としてこのような配列と文字列を受け取るJavaScript関数を作成する必要があります。

次に、関数は、配列の各要素について、その特定の要素が2番目の引数として指定された文字列から完全に形成できるかどうかを確認する必要があります。

配列のいずれかの要素でこの条件が満たされる場合は、その要素を返す必要があります。そうでない場合は、空の文字列を返す必要があります。

以下はコードです-

const arr = ['Dinesh', 'Mahesh', 'Rohit', 'Kamal', 'Jatin Sapru', 'Jai'];
const str = 'lsoaakjm';
const initialise = (str = '', map) => {
   for(let i = 0; i < str.length; i++){
      map[str[i]] = (map[str[i]] || 0) + 1;
   };
};
const deleteAll = map => {
   for(key in map){
      delete map[key];
   };
};
const checkForFormation = (arr = [], str = '') => {
   const map = {};
   for(let i = 0; i < arr.length; i++){
      const el = arr[i].toLowerCase();
      initialise(str, map);
      let j;
      for(j = 0; j < el.length; j++){
         const char = el[j];
         if(!map[char]){
            break;
         }else{
            map[char]--;
         }
      };
      if(j === el.length){
         return arr[i];
      };
      deleteAll(map);
   }
   return '';
};
console.log(checkForFormation(arr, str));

出力

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

Kamal

  1. JavaScriptで0と1を使用して文字列を形成する

    問題 最初の引数としてのみ0と1を使用して形成された文字列の配列arrを受け取るJavaScript関数を作成する必要があります。 この関数は、2番目と3番目の引数としてそれぞれmと2つの数値を取ります。この関数のタスクは、最大でm0とn1を使用して配列arrからいくつの文字列を形成できるかを見つけることです。 たとえば、関数への入力が-の場合 const arr = ["10", "0001", "111001", "1", "0"]; const m = 5, n = 3; その場合

  2. JavaScriptで文字行列と数値配列に基づいて文字列を構築する

    問題 文字列文字のn*n行列と整数の配列(正および一意)を受け取るJavaScript関数を作成する必要があります。 この関数は、1から始まるインデックスが数値の配列に存在する文字の文字列を作成する必要があります。 文字マトリックス- [    [‘a’, ‘b’, ‘c’, d’],    [‘o’, ‘f’, ‘r’, ‘g’],    [&lsq