С Новым годом! Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 26.03.2024
Сообщений: 35

Удалить символ во всех его позициях

10.09.2024, 22:55. Показов 1427. Ответов 6

Студворк — интернет-сервис помощи студентам
Здравствуйте! Прохожу онлайн-курс по JavaScript.

В нем было такое задание по функциям, циклам и условиям:

"Реализуйте функцию filterString(), принимающую на вход строку и символ, и возвращающую новую строку, в которой удален переданный символ во всех его позициях. Регистр символов важен."

Как должна работать функция:

JavaScript
1
2
3
const str = 'If I look back I am lost';
filterString(str, 'I'); // 'f  look back  am lost'
filterString('zz Zorro', 'z'); // ' Zorro'
Пробовала сделать сама, к сожалению, не получилось довести ее до ума. Но в решении показан такой код:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// BEGIN
const filterString = (str, char) => {
  let i = 0;
  let result = '';
  while (i < str.length) {
    const currentChar = str[i];
    if (currentChar !== char) {
      result = `${result}${currentChar}`;
    }
    i += 1;
  }
 
  return result;
};
// END
Попыталась разобраться, и все же никак не могу понять, для чего в цикле задают константу? Ведь там вроде как должен идти перебор символов из строки, а константа - неизменяемая величина. Пожалуйста, поясните, данный момент)
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.09.2024, 22:55
Ответы с готовыми решениями:

Определите длину диапазона, сумму всех его цифр и значения, расположены на третьей и пятой позициях
разработать программы создания и обработки кортежей, и множеств 2. Разработайте программу создания диапазона целых чисел от 5 до 40...

Ввести массив. Вывести его. Найти сумму элементов на четных позициях и произведение на нечетных позициях
Помогите пожалуйста решить. ввести массив. Вывести его. Найти сумму элементов на четных позициях и произведение на нечетных позициях.

Дан символьный файл, содержащий по крайней мере один символ пробел,удалить все его элементы,расположенные после последнего символа пробела,включая его
Дан символьный файл, содержащий по крайней мере один символ пробела. Удалить все его элементы, расположенные после последнего символа...

6
Эксперт .NET
 Аватар для Usaga
14122 / 9340 / 1350
Регистрация: 21.01.2016
Сообщений: 35,089
11.09.2024, 06:20
Лучший ответ Сообщение было отмечено Сияние как решение

Решение

Цитата Сообщение от Сияние Посмотреть сообщение
для чего в цикле задают константу?
Для того, чтобы использовать в интерполяции. Но она тут не нужна. Но можно и проще:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
const filterString = (str, char) => {
    let result = "";
 
    for(const c of str) {
        if (c !== char) {
            result += c;
        }
    }
 
    return result;
};
Добавлено через 1 минуту
Цитата Сообщение от Сияние Посмотреть сообщение
Ведь там вроде как должен идти перебор символов из строки, а константа - неизменяемая величина.
Ну, константу никто и не изменяет в цикле. На каждой итерации она заново объявляется, с новым значением. Область видимости этой константы ограничена телом цикла. По этому противоречий нету.

Добавлено через 19 минут
И вообще, const в JavaScript это не константа как в других языках. Это - неизменяемая переменная, привязанная к области видимости. И если эта переменная ссылается на объект, то его всё равно можно изменять.
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3818 / 1656 / 428
Регистрация: 14.03.2022
Сообщений: 4,132
11.09.2024, 09:07
Цитата Сообщение от Сияние Посмотреть сообщение
Прохожу онлайн-курс по JavaScript.
...
Попыталась разобраться, и все же никак не могу понять, для чего в цикле задают константу?
Для понимания языка нужно читать учебники. Там все как раз рассказывают подробно с примерами.
Все эти "курсы" можно проходить уже потом, после прочтения учебников. Т.с. на закрепление материала.
1
0 / 0 / 0
Регистрация: 26.03.2024
Сообщений: 35
11.09.2024, 16:48  [ТС]
Цитата Сообщение от Usaga Посмотреть сообщение
На каждой итерации она заново объявляется, с новым значением.
А, вот оно как, я не подумала об этом) Спасибо!

Добавлено через 2 минуты
Согласна с Вами. Просто как-то искала учебники, и видимо плохо искала) В основном попадалось что-то по типу справочника, то есть: команда - краткое пояснение - 1-2 примера, и на этом все)

Добавлено через 1 минуту
krvsa, то, что добавлено в предыдущем сообщении, было для Вас) Просто давно тут не была, забыла, что нужно на ник нажимать, чтобы обратиться)
0
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3818 / 1656 / 428
Регистрация: 14.03.2022
Сообщений: 4,132
11.09.2024, 16:58
Лучший ответ Сообщение было отмечено Сияние как решение

Решение

Цитата Сообщение от Сияние Посмотреть сообщение
В основном попадалось что-то по типу справочника
Начать можно с этого https://learn.javascript.ru

Или с этого (см.картинку)
Миниатюры
Удалить символ во всех его позициях  
1
Эксперт JSЭксперт HTML/CSS
 Аватар для krvsa
3818 / 1656 / 428
Регистрация: 14.03.2022
Сообщений: 4,132
11.09.2024, 17:04
Лучший ответ Сообщение было отмечено Сияние как решение

Решение

Сияние, тут есть целая тема про учебники...
Изучение JS: литература, сроки изучения, обсуждение карьеры
1
 Аватар для voraa
1245 / 1148 / 178
Регистрация: 21.01.2024
Сообщений: 5,300
11.09.2024, 17:07
Цитата Сообщение от Сияние Посмотреть сообщение
"Реализуйте функцию filterString(), принимающую на вход строку и символ, и возвращающую новую строку, в которой удален переданный символ во всех его позициях. Регистр символов важен."
Если явно не указаны, какие то требования, типа сделать через цикл, то все это делается в одну строчку

JavaScript
1
const filterString = (str, char) => str.replaceAll(char, '');
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
11.09.2024, 17:07
Помогаю со студенческими работами здесь

В строке удалить все слова на нечетных порядковых позициях, а слова на четных позициях напечатать перевернутыми
Помогите пожалуйста написать программу! Буду очень благодарен

В строке удалить все слова на нечетных порядковых позициях, а слова на четных позициях напечатать перевернутыми
В строке удалить все слова на нечетных порядковых позициях, а слова на четных позициях напечатать перевернутыми. Например (а мама...

В строке удалить все слова на нечетных порядковых позициях, а слова на четных позициях напечатать перевернутыми
в строке удалить все слова на нечетных порядковых позициях, а слова на четных позициях напечатать перевернутыми Предложения может быть...

Во всех *.txt файлах директории удалить символ
Добрый день! Проблемка в директории 150 файлов *.txt, нужно удалить один символ из каждого файла, а именно &quot; &quot;, он последний в...

Макрос чтобы во всех ячейках столбца удалить последний символ
Excel 2003. Стоит задача: во всех ячейках столбца необходимо удалить последний символ. Выделяю верхнюю ячейку и записываю макрос: F2...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes. А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит токи на L и напряжения на C в установ. режимах до и. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru