Нужно удалить символы из строки
function deleteSymbol(text, symbol) {
text = prompt("Введите текст");
symbol = prompt("Введите символы");
let textArr = text.split([]);
let symbolArr = symbol.split([]);
for(let i = 0; i < textArr.length; i++) {
for(let j = 0; j < symbolArr.length; j++) {
if (textArr[i] === symbolArr[j]) {
textArr.slice(i,j);
// Скорее всего ошибка здесь,но не понятно
}
}
}
console.log(textArr);
console.log(symbolArr);
}
let functionResult = deleteSymbol();
Ответы (1 шт):
Автор решения: egbro
→ Ссылка
Метод x.slice(i, j) не удаляет ничего. Он возвращает массив элементов другого массива с индексами от i включая до j не включая: [i; j) .
Метод x.splice(i, j) может как удалять, так и добавлять элементы в массив. Погуглите.
Так и не понял зачем вы создавали text и symbol как аргументы функции, если можно и нужно просто дописать let перед присваиванием. И ещё, в метод split можно передавать пустую строку, т.к. если передавать пустой массив, то он приводится к пустой строке.
function deleteSymbol() {
let text = prompt("Введите текст");
let symbol = prompt("Введите символы");
let textArr = text.split("");
let symbolArr = symbol.split("");
for(let i = 0; i < textArr.length; i++) {
for(let j = 0; j < symbolArr.length; j++) {
if (textArr[i] === symbolArr[j]) {
textArr.splice(i, 1);
i--;
}
}
}
console.log(textArr);
console.log(symbolArr);
return textArr.join("");
}
let functionResult = deleteSymbol();
console.log(functionResult);