Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/11: Рейтинг темы: голосов - 11, средняя оценка - 4.64
10 / 10 / 1
Регистрация: 20.08.2016
Сообщений: 245

Получив строку, верните копию строки с измененным регистром гласных

14.10.2021, 03:08. Показов 2265. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Получив строку, верните копию строки с измененным регистром гласных.

Для этого предположим, что гласные находятся в наборе "aeouiaeoui".

Пример: Учитывая строку C is alive!, ваша функция должна возвращать C Is AlIvE!

Добавление: Ваше решение требуется только для работы с набором символов ASCII.

Пожалуйста, убедитесь, что вы меняете местами только гласные.


JavaScript
1
2
3
4
5
6
7
8
9
10
11
function swapVowelCase(str) {
  let vow = 'aeouiAEOUI';
  let vowArr = vow.split('');
  let arr = str.split('');
  for (let i = 0; i < arr.length; i++) {
    if (vowArr.includes(arr[i])) {
      return arr[i] = arr[i].toString().toUpperCase();
    }
  }
  return arr.join('');
}
В чём ошибка?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
14.10.2021, 03:08
Ответы с готовыми решениями:

Преобразовать строку, получив новую строку из тех же букв, но с чередованием больших и малых
Помогите хоть немножко) задание такое: Задана строка из смеси русских строчных и заглавных букв. Преобразовать ее в строку из тех же...

Описать и проверить процедуру Замена(T,i,j), заменяющую i–ю строку текста на копию j–й строки
Прошу помочь с задачей на динамические переменные и списки. Сама задача: const d =…; {длина строки} n =…; ...

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

10
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
14.10.2021, 04:36
Лучший ответ Сообщение было отмечено sozdatel как решение

Решение

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        function swapVowelCase(str) {
            let vow = 'aeouiAEOUI', vow2 = 'AEOUIaeoui';
            let vowArr = new Array(str.length);
            for (let i = 0; i < str.length; i++) {
                let c = str[i];
                let index = vow.indexOf(c);
                if (index !== -1)
                    vowArr[i] = vow2[index];
                else
                    vowArr[i] = c;
            }
            return vowArr.join('');
        }
        console.log(swapVowelCase("C is alive!"));
1
 Аватар для Lazy_Den
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
14.10.2021, 04:37
Лучший ответ Сообщение было отмечено sozdatel как решение

Решение

Как минимум:
JavaScript
1
2
3
4
5
6
7
8
9
10
function swapVowelCase(str) {
  let vow = 'aeoui';
  let arr = str.split('');
  for (let i = 0; i < arr.length; i++) {
    if (vow.includes(arr[i])) {
      arr[i] = arr[i].toUpperCase();
    }
  }
  return arr.join('');
}
Чуть покороче
JavaScript
1
2
3
function swapVowelCase(str) {
  return [...str].map(l => 'aeoui'.includes(l) ? l.toUpperCase() : l ).join('');
}
или так:
JavaScript
1
2
3
function swapVowelCase(str) {
  return str.replace(/[aeoui]/g, (m) => m.toUpperCase());
}
2
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
14.10.2021, 10:01
Цитата Сообщение от sozdatel Посмотреть сообщение
В чём ошибка?
Вам всего лишь надо было убрать инструкцию return с 7й строки.
1
10 / 10 / 1
Регистрация: 20.08.2016
Сообщений: 245
14.10.2021, 13:23  [ТС]
Lazy_Den, увы, пишет ошибку во всех 3 случаях.
Balanaar, убрал, не подходит решение.
0
Эксперт JS
6497 / 3908 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
14.10.2021, 13:36
sozdatel, потому что Вы заставляете исполнителей проекта поднимать регистр, а по всей видимости надо менять регистр на противоположный.

Задачу надо правильно ставить. Люди нервничают и уже собираются увольняться ))))
3
10 / 10 / 1
Регистрация: 20.08.2016
Сообщений: 245
14.10.2021, 14:00  [ТС]
amr-now, )) нет ведь, почитайте сами:

Challenge:

Given a string, return a copy of the string with the vowels' case swapped.

For this kata, assume that vowels are in the set "aeouiAEOUI".

Example: Given a string "C is alive!", your function should return "C Is AlIvE!"

Addendum: Your solution is only required to work for the ASCII character set.

Please make sure you only swap cases for the vowels.
Добавлено через 11 минут
amr-now, пожалуй, вы правы.) swap переводится менять, а не поднять, как я подумал.)) Все ответы в теме, кроме моего, понятно, верны.
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
14.10.2021, 14:01
sozdatel, ну так а почему вы тогда применяете в своём решении только toUpperCase(), если обратная операция тоже требуется?
Найдите там место и для toLowerCase().
0
10 / 10 / 1
Регистрация: 20.08.2016
Сообщений: 245
14.10.2021, 14:06  [ТС]
Balanaar, попробую дописать чуть позже.

Я не совсем понимаю, как определить, где нужно return писать, а где нет. return возвращает что-то, значение, функцию и т.д. Почему нельзя написать
JavaScript
1
      return arr[i] = arr[i].toString().toUpperCase();
в 7 строке? Кроме того, что код не работает?
0
Эксперт JS
2463 / 1769 / 625
Регистрация: 11.07.2016
Сообщений: 4,067
14.10.2021, 14:09
Лучший ответ Сообщение было отмечено sozdatel как решение

Решение

Инструкция return немедленно останавливает работу функции и возвращает её результат. То, что следует после return, никогда не будет выполнено.
В вашем случае когда функция доходила до первой же гласной и залезала в 7ю строку, её исполнение останавливалось, и она возвращала эту самую букву в верхнем регистре, а не всю строку.
1
10 / 10 / 1
Регистрация: 20.08.2016
Сообщений: 245
14.10.2021, 14:12  [ТС]
Balanaar, спасибо большое, я ведь читал об этом). Надо снова почитать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
14.10.2021, 14:12
Помогаю со студенческими работами здесь

Распарсить строку, получив нужные значения
&quot;taskhost.exe&quot;,&quot;8124&quot;,&quot;Console&quot;,&quot;2&quot;,&quot;8*196 КБ&quot;,&quot;Running&quot;,&quot;MAXIDROM\Максим&quot;,&quot;0:00:00&quot;,&quot;Task Host Window&quot; как это чудо превратить в ...

Из введенной пользователем строки сформировать новую строку, состоящую из гласных букв введенной строки.
Напишите пожалуйста решение!СПАСИБО! Из введенной пользователем строки сформировать новую строку, состоящую из гласных букв введенной...

Из введенной пользователем строки сформировать новую строку, состоящую из гласных букв введенной строки
Ребята,напигите пожалуйста решение!СПАСИБО! Из введенной пользователем строки сформировать новую строку, состоящую из гласных букв...

Сформировать новую строку, в которой нет гласных из первой строки
дана строка сформировать новую в которой нет гласных из первой строки

Разработать функцию, возвращающую строку из N первых гласных латинских букв строки
&quot;Разработать функцию MakeStr(S:string; N:integer):string, возвращающую строку из N первых гласных латинских букв строки S (либо из всех...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru