Как работает код с последовательностью скобок?
Здравствуйте!
Нужна помощь в понимании что происходит в коде, который считает количество скобок в строке. На одном сайте приведен и детально разобран код приведенный ниже. Однако например я не могу понять что это такое за объект? 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;
}
// Составляем последовательность
}
|
Цитата:
Цитата:
Цитата:
Цитата:
Из объекта "opening" берется значение, название которого хранится в переменной "с" (если такого свойства нет, то значением будет "undefined") и приводится к булеву типу. |
| Часовой пояс GMT +3, время: 00:15. |