Splice по другому ведет себя внутри foreach
Код
function editText(text) {
let str = Array.from(text);
let i = 0;
str.forEach((el) => {
console.log(i);
str.splice(i, 1);
i++;
})
return str.join('');
}
console.log(editText('@@@@@'));
То-есть цикл доходить до 3-го элемента а дальше не срабатывает, почему так?
Написал вот такой код
function editText(text) {
let str = Array.from(text);
let chars = ['@', ' ', '#', '.'];
let counter = 0;
for (let i = 0; i < str.length; i++) {
let nextEl = str[i + 1];
for (let j = 0; j < chars.length; j++) {
if (str[i] == chars[j]) {
if (str[i] == nextEl) {
delete str[i];
}
}
}
}
console.log(str);
return str.join('');
}
console.log(editText('dgalymbek@@inbox..ru ##mail ##gmail'));
Вывод => dgalymbek@inbox.ru #mail #gmail