Всем привет, ребята помогите решить задачу. Суть, у меня есть строка, и мне нужно сделать так, что бы верхний регистр всегда менялся на нижний, а нижний на верхний. Пример было : HeLllO wOrrLd; Стало : hElLo WoRRld;
let str ='HeLlo WoRlD';
let str2 = ' ';
for (let i = 0; i < str.length; i++) {
if (str.match(/[A-Z]/g) && str.match(/[a-z]/g)) {
str2 = str2 + str.charAt(i).toLowerCase();
str2 = str2 + str.charAt(i).toUpperCase();
}
} console.log(str2);
Получаеться плохо, т. к. строки с разными регистрами накладываються друг на друга.
Сижу уже целый день, ни как не могу понять, буду рад за помощь и объяснение, заранее спасибо!
Вы в строке искали символы нижнего регистра и верхнего и независимо ни от чего добавляли и нижний регистр, и верхний. Бесмысленно.
let str ='HeLlo WoRlD';
let str2 = '';
for (let i = 0; i < str.length; i++) {
if (str[i].match(/[A-Z]/)) {
str2 += str[i].toLowerCase();
}
else if (str[i].match(/[a-z]/)) {
str2 += str[i].toUpperCase();
}
else {str2 += str[i]};
}
console.log(str2);
Также подумайте над тем, что есть варианты эффективнее regexp.
console.log("HeLlo WoRlD".replace(/./g, c => {
var u = c.toUpperCase()
return c === u ? c.toLowerCase() : u
}));
Если буквы только латинские:
console.log("HeLlo WoRlD".replace(/([a-z])|([A-Z])/g, (m,l,u) => u ? m.toLowerCase() : m.toUpperCase()));
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Нужно следить за изменением в бд, если есть изменение в таблице, то вывестиЯ делаю через ajax, но это нагрузка на бд
У меня есть таблицы, в одну вводиться отзыв и при отправке он выводиться на вторуюНо не могу понять как сделать так чтобы каждая отправка...
Как сделать меню как на изображении? При нажатии на бургер должен появится фон на всю страницу как на изображении и менюКак такое можно реализовать?