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

JavaScriptで文字列のすべてのサブ文字列を再帰的に取得します


唯一の引数として文字列を受け取るJavaScript関数を作成する必要があります。関数は、入力文字列のすべての可能なサブ文字列を再帰的に構築する必要があります。

次に、関数はすべての部分文字列を含む配列を返す必要があります。

const str = 'example';
const buildSubstrings = (str = '') => {
   let i, j;
   const res = [];
   for (i = 0; i < str.length; i++) {
      for (j = i + 1; j < str.length + 1; j++) {
         res.push(str.slice(i, j));
      };
   };
   return res;
};
console.log(buildSubstrings(str));

出力

そして、コンソールの出力は-

になります
[
   'e', 'ex', 'exa',
   'exam', 'examp', 'exampl',
   'example', 'x', 'xa',
   'xam', 'xamp', 'xampl',
   'xample', 'a', 'am',
   'amp', 'ampl', 'ample',
   'm', 'mp', 'mpl', 'mple',
   'p', 'pl', 'ple',
   'l', 'le', 'e'
]

  1. JavaScriptで文字列の可能なすべての一意の順列を作成する

    問題 文字列strを受け取るJavaScript関数を作成する必要があります。この関数は、入力文字列のすべての順列を作成し、重複がある場合はそれを削除する必要があります。つまり、入力からのすべての文字をすべての可能な順序でシャッフルする必要があります。 例 以下はコードです- const str = 'aabb'; const permute = (str = '') => {    if (!!str.length && str.length < 2 ){       retur

  2. JavaScriptを使用して文字列にすべての一意の文字が含まれているかどうかを確認する

    問題 文字列内のすべての文字が1回だけ表示される場合はtrueを返し、それ以外の場合はfalseを返すJavaScript関数を作成する必要があります。 例 以下はコードです- const str = 'thisconaluqe'; const allUnique = (str = '') => {    for(let i = 0; i < str.length; i++){       const el = str[i];       if(str.indexOf