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

JavaScriptで1つの文字列を2番目の順序で並べ替える


問題

最初と2番目の引数としてstr1とstr2の2つの文字列を受け取るJavaScript関数を作成する必要があります。

この関数は、str2に表示される文字の順序に従ってstr1を並べ替える必要があります

たとえば、関数への入力が-

の場合

入力

const str1 = 'coding';
const str2 = 'gncabdi';

出力

const output = 'gncdio';

出力の説明

str2で最初に表示される文字が最初に配置され、次に続く文字が配置され、最後にstr2にない文字が続きます。

以下はコードです-

const str1 = 'coding';
const str2 = 'gncabdi';
const sortByOrder = (str1 = '', str2 = '') => {
   str2 = str2.split('');
   const arr1 = str1
      .split('')
      .filter(el => str2.includes(el))
      .sort((a, b) => str2.indexOf(a) - str2.indexOf(b));
   const arr2 = str1
      .split('')
      .filter(el => !str2.includes(el));
   return arr1.join('') + arr2.join('');
};
console.log(sortByOrder(str1, str2));

出力

gncdio

  1. JavaScriptでの頻度による文字列文字の並べ替え

    問題 文字列を唯一の引数として受け取るJavaScript関数を作成する必要があります。 関数は、元の文字列に基づいて新しい文字列を準備する必要があります。この文字列では、ほとんどの回数出現する文字が最初に配置され、次に頻度が減少する数字が配置されます。 たとえば、関数への入力が-の場合 const str = 'free'; その場合、出力は-になります。 const output = 'eefr'; 出力の説明: eは2回表示されるため、最初に配置され、次にrとfが配置されます。 例 このためのコードは-になります const str = 

  2. JavaScriptで1つの文字列を繰り返して他の文字列を形成できますか

    問題 最初と2番目の引数としてstr1とstr2の2つの文字列を受け取るJavaScript関数を作成する必要があります。 この関数は、文字列str2がそのサブ文字列になるように、文字列str1を繰り返す必要がある最小回数を返す必要があります。 str2を繰り返した後、その部分文字列にすることが不可能な場合は、-1を返す必要があります たとえば、関数への入力が 入力 const str1 = 'wxyz'; const str2 = 'yzwxyzwx'; 出力 const output = 3; 出力の説明 「abcdabcdabcd」を3