"("と ")"のかっこを確認するロジックを記述しましたが、かっこが混在すると問題が発生するようです。これは、括弧の総数を単に比較しているためです。文字列に欠落している中かっこを見つけてください
これは私が書いたもの
function checkParanthesis(str){
var depth=0;
for(var i in str){
if(str[i] == "(" || str[i] == "{" || str[i] == "[")
depth++;
else if(str[i] == ")" || str[i] == "}" || str[i] == "]")
depth--;
}
if(depth !==0) return false;
return true;
}
console.log(checkParanthesis("() test"));
質問です:
しかし、どのように、私は複数の括弧要素を確認することができますか? (){} []
例えば、
入力:
"[(]) abcd" // should return false
"[{()}] test" // should return true
は(真ていない)falseを返すべき
最後の文は冗長であるため、値が '!== 0 'であれば簡単にチェックできます。 –
修正済み!ありがとうございます@RyanMcCullagh – TechnoCorner
あなたは最新のまだ開いているものに近いものを確認することができますように、中括弧を追跡する必要があります。 – Ryan