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

JavaScriptで時間文字列を修正する


問題

「HH:MM:SS」形式の時間文字列を受け取るJavaScript関数を作成する必要があります。

しかし、それに加えて問題があり、多くのタイムストリングが壊れているため、MM部分が60を超え、SS部分も60を超える可能性があります。

この関数は、文字列に必要な変更を加えて、修正された新しい文字列を返す必要があります。

たとえば-

"08:11:71" -> "08:12:11"

以下はコードです-

const str = '08:11:71';
const rectifyTime = (str = '') => {
   if(!Boolean(str)){
      return str;
   };
   const re = /^(\d\d):(\d\d):(\d\d)$/;
   if (!re.test(str)){
      return null;
   };
   let [h, m, s] = str.match(re).slice(1,4).map(Number);
   let time = h * 3600 + m * 60 + s;
   s = time % 60;
   m = (time / 60 |0) % 60;
   h = (time / 3600 |0) % 24;
   return [h, m, s]
   .map(String)
   .join(':');
};
console.log(rectifyTime(str));

出力

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

08:12:11

  1. 文字列はJavaScriptで繰り返される部分文字列の組み合わせですか

    問題 唯一の引数として文字列を受け取るJavaScript関数を作成する必要があります。この関数は、文字列strの部分文字列を取得し、その部分文字列の複数のコピーを一緒に追加することによって、文字列strを作成できるかどうかを確認する必要があります。 たとえば、関数への入力が-の場合 const str = 'thisthisthisthis'; その場合、出力は-になります。 const output = true; 出力の説明: 文字列は「this」文字列を繰り返し追加して作成されるためです。 例 このためのコードは-になります const str = '

  2. JavaScriptでスペースの位置を維持しながら文字列を反転する

    問題 スペースを含む可能性のある文字列を受け取るJavaScript関数を作成する必要があります。 この関数は、2つの別々の単語の文字やスペースを交換せずに、文字列内に存在する単語を内部的に反転させる必要があります。 例 以下はコードです- const str = 'this is normal string'; const reverseWordsWithin = (str = '') => {    let res = "";    for (let i = str.length - 1