Здравствуйте!
Нужна помощь в понимании что происходит в коде, который считает количество скобок в строке. На одном сайте приведен и детально разобран код приведенный ниже. Однако например я не могу понять что это такое за объект?
let opening = { '[': ']', '{': '}', '(': ')', '<': '>', };
Я думаю, что это объект у которого ключи типа 'скобка' и значение типа 'встречная скобка'. Странная и непривычная запись.
(1) Могут быть ключи и значения с такими именами?
(2) Как "работает" запись if(opening[c])? Это эквивалентно if(opening[c]) = true?
Буду благодарен за детальное объяснение как работает этот код. :-)
function correctBrackets(brs){
let opening = {
'[': ']',
'{': '}',
'(': ')',
'<': '>',
};
let open = 0, close = 0;
for(let i = 0; i < brs.length; i++){
let c = brs[i];
if(opening[c]){
open++;
} else {
close++;
}
}
if(open != close){
return null;
}
// Составляем последовательность
}