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
-
JavaScriptでの頻度による文字列文字の並べ替え
問題 文字列を唯一の引数として受け取るJavaScript関数を作成する必要があります。 関数は、元の文字列に基づいて新しい文字列を準備する必要があります。この文字列では、ほとんどの回数出現する文字が最初に配置され、次に頻度が減少する数字が配置されます。 たとえば、関数への入力が-の場合 const str = 'free'; その場合、出力は-になります。 const output = 'eefr'; 出力の説明: eは2回表示されるため、最初に配置され、次にrとfが配置されます。 例 このためのコードは-になります const str =
-
JavaScriptで1つの文字列を繰り返して他の文字列を形成できますか
問題 最初と2番目の引数としてstr1とstr2の2つの文字列を受け取るJavaScript関数を作成する必要があります。 この関数は、文字列str2がそのサブ文字列になるように、文字列str1を繰り返す必要がある最小回数を返す必要があります。 str2を繰り返した後、その部分文字列にすることが不可能な場合は、-1を返す必要があります たとえば、関数への入力が 入力 const str1 = 'wxyz'; const str2 = 'yzwxyzwx'; 出力 const output = 3; 出力の説明 「abcdabcdabcd」を3