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

JavaScriptでの山括弧の解析とバランスの問題


山かっこの文字列が与えられ、すべての角かっこを一致させるために、文字列の最初と最後に角かっこを追加する関数を作成する必要があります。

すべての<に対応する>があり、すべての>に対応する<。

がある場合、山かっこは一致します。

例-入力文字列が-

の場合
const str = '><<><';

出力

その場合、出力は-

になります。
const output = '<><<><>>';

ここでは、文字列のバランスをとるために、最初に「<」、最後に「>>」を追加しました。

これまでに開いている「<」タグの数をカウントする数を使用します。次に、「>」タグに遭遇したときに、現在開いているタグがない場合は、文字列の先頭に「<」を追加します(開いているタグの数は0のままです)。

次に、最後に、現在開いているタグの数と一致する'>の数を追加します。

このためのコードは-

になります
const str = '><<><';
const buildPair = (str = '') => {
   let count = 0;
   let extras = 0;
   for (const char of str) {
      if (char === '>') {
         if (count === 0) {
            extras++;
         } else {
            count−−;
         };
      } else {
         count++;
      };
   };
   const leadingTags = '<'.repeat(extras);
   const trailingTags = '>'.repeat(count);
   return leadingTags + str + trailingTags;
};
console.log(buildPair(str));
を返します

出力

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

になります
><<><>>

  1. JSON.parse()とは何ですか?javascriptでの使用について説明しますか?

    JSON.parse() Webサーバーからデータを受信する場合、データは常に文字列です。したがって、データをオブジェクトに変更するには、 JSON.parse() メソッドが使用されます。 例 <html> <body> <script>    var obj = '{"name":"Jon", "age":20, "city":"Columbia"}';    var res = JSON.par

  2. JavaScriptConst

    JavaScriptのconst宣言は、他の値に再割り当てしたり、後で再宣言したりできない変数を作成します。 ES2015で導入されました。 以下はJavaScriptconst宣言のコードです- 例 <!DOCTYPE html> <html> <head> <style>    body {       font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif;    } </sty