我寫檢查括號中的邏輯「(」和「)」括號的時候都混合但似乎有一個問題。這是因爲我只是比較總的括號計數。找到一個字符串缺少大括號的JavaScript
這是我寫的
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