JavaScript | Как отзеркалить скобки?

Способ № 1 — при помощи массива и цикла

Есть строка:

var stroka = "Mazda ]RX707[ - )легковой автомобиль(  }повышенного комфорта{"

Нам нужно перевернуть скобки, чтобы они смотрели в другую сторону. У нас в строке встречаются круглые, квадратные и фигурные скобки. Их нужно отзеркалить. Как это сделать?

Функция отзеркаливания скобок в строке

function reverseBrackets (str){
   for(arr=[...str], newarr=[], i=0; i<arr.length; i++){
           if(arr[i]=="["){newarr.push("]")}
      else if(arr[i]=="]"){newarr.push("[")}
      else if(arr[i]=="("){newarr.push(")")}
      else if(arr[i]==")"){newarr.push("(")}
      else if(arr[i]=="{"){newarr.push("}")}
      else if(arr[i]=="}"){newarr.push("{")}
      else{newarr.push(arr[i])}
   }
return newarr.join("")
}

Функция превращает строку в массив и по каждому элементу делает проверку на наличие скобок. Если на текущей позиции счётчика нет скобки, тогда такой элемент просто добавляется в новый массив без изменений. Если есть какая-либо скобка, тогда она переворачивается и в новый массив возвращается перевёрнутая версия скобки.

 

Пример работы функции

Функция отзеркаливания скобок в строке - JavaScript
Функция отзеркаливания скобок в строке — JavaScript

 

Информационные ссылки

JavaScript | Оператор for

Стандарт ECMAScript — Раздел «14.7.4 The for Statement» — https://tc39.es/ecma262/#sec-for-statement

Поделись записью