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

文字列をグループに分割– JavaScript


アルファベット、数字、特殊文字で構成される文字列Sが与えられます。文字列を3つの異なる文字列S1、S2、S3に分割するプログラムを作成する必要があります。たとえば、-

  • 文字列S1には、Sに存在するすべてのアルファベットが含まれます。
  • 文字列S2には、Sに存在するすべての数字が含まれます。
  • S3には、Sに存在するすべての特殊文字が含まれます。

文字列S1、S2、およびS3には、入力に表示されるのと同じ順序の文字が含まれている必要があります。

以下はコードです-

const str = "Th!s String C0nt@1ns d1fferent ch@ract5rs";
const seperateCharacters = str => {
   const strArr = str.split("");
   return strArr.reduce((acc, val) => {
      let { numbers, alpha, special } = acc;
      if(+val){
         numbers += val;
      }else if(val.toUpperCase() !== val.toLowerCase()){
         alpha += val;
      }else{
         special += val;
      };
      return { numbers, alpha, special };
   }, {
      numbers: '',
      alpha: '',
      special: ''
   });
};
console.log(seperateCharacters(str));

出力

これにより、コンソールに次の出力が生成されます-

{
   numbers: '115',
   alpha: 'ThsStringCntnsdfferentchractrs',
   special: '!  0@  @'
}

  1. JavaScriptでカードをグループに再配置する

    問題 最初の引数として数値の配列arrを取り、2番目の引数として数値numを受け取るJavaScript関数を作成する必要があります。 配列内の数字は[1、13]の範囲で、制限を含み、トランプの1ベースのインデックスを表します。 私たちの関数は、各グループのサイズがnumで、連続するnum枚のカードで構成されるようにカードをグループに再配置する方法があるかどうかを判断する必要があります。 たとえば、関数への入力が 入力 const arr = [1, 4, 3, 2]; const num = 2; 出力 const output = 2; 出力の説明 カードは[1、2]

  2. JavaScriptで文字列を最大部分に分割する

    問題 最初で唯一の引数として文字列strを受け取るJavaScript関数を作成する必要があります。 この関数の目的は、この文字列をできるだけ多くの部分に分割して、各文字が多くても1つの部分に表示されるようにし、これらの部分のサイズを表す整数の配列を返すことです。 たとえば、関数への入力が 入力 const str = "ababcbacadefegdehijhklij"; 出力 const output = [9, 7, 8]; 出力の説明 パーティションは「ababcbaca」、「defegde」、「hijhklij」です。これは、各文字が多くても1