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

switch case + Тернарный оператор

11.08.2020, 14:05. Показов 2264. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Нужно изменить код, убрав тернарный оператор и добавить switch.
Код:

JavaScript
1
2
3
4
5
6
7
8
9
function manageHomeRoutines(task) {
  return task === 'clean' ? 'petya'
    : task === 'make_breakfast' ? 'misha' : task === 'write_code' ? 'petya'
      : task === 'adjust_lights' ? 'vasya' : task === 'review_pull_request'
        ? 'misha'
        : task === 'set_up_an_alarm' ? 'siri' : task
        === 'check_weather' ? 'siri'
          : task === 'take_out_garbage' ? 'vasya' : 'masha';
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.08.2020, 14:05
Ответы с готовыми решениями:

упрощенный тернарный оператор
есть ли в JS какой стандартный подход для - такой элемент "bool ? data : null" , что бы при false ничего не возвращал ?? if (true)...

Тернарный оператор, перевод в блок if-else
Я пытаюсь перевести в обычный блок( if-else), но почему то не работает? cardCode = cardCode !== '' ?...

Выбор операции в выражении через тернарный оператор
Есть выражение в условии: if (a + a1 == n) Необходимо: подставить операцию в зависимости от условия Пробовал: if (a (b ? + : -) a1...

2
0 / 0 / 0
Регистрация: 30.01.2020
Сообщений: 17
11.08.2020, 17:38
под ваше условие подойдет только if, но с использованием if у вас немного разрастется код так что не вижу смысла менять тернарник
0
Эксперт JS
 Аватар для Iverycool
1586 / 796 / 362
Регистрация: 01.02.2019
Сообщений: 1,047
11.08.2020, 19:55
The_queen_of_cr,
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
function manageHomeRoutines(task) {
  switch (task) {
    case 'clean': return 'petya';
    case 'make_breakfast': return 'misha';
    case 'write_code': return 'petya';
    case 'adjust_lights': return 'vasya';
    case 'review_pull_request': return 'misha';
    case 'set_up_an_alarm': return 'siri';
    case 'check_weather': return 'siri';
    case 'take_out_garbage': return 'vasya';
    default: return 'masha';
  }
}
 
console.log('clean', manageHomeRoutines('clean'));
console.log('make_breakfast', manageHomeRoutines('make_breakfast'));
console.log('write_code', manageHomeRoutines('write_code'));
console.log('adjust_lights', manageHomeRoutines('adjust_lights'));
console.log('review_pull_request', manageHomeRoutines('review_pull_request'));
console.log('set_up_an_alarm', manageHomeRoutines('set_up_an_alarm'));
console.log('check_weather', manageHomeRoutines('check_weather'));
console.log('take_out_garbage', manageHomeRoutines('take_out_garbage'));
console.log(manageHomeRoutines());
Цитата Сообщение от alexjunior Посмотреть сообщение
под ваше условие подойдет только if
Идеальная задача под switch
Цитата Сообщение от alexjunior Посмотреть сообщение
с использованием if у вас немного разрастется код так что не вижу смысла менять тернарник
Тернарник, конечно супер, но его использование в длинных условиях существенно усложняет понимание кода.
Кстати со switch, сгруппировав условия, можно сделать код ещё интереснее:
JavaScript
1
2
3
4
5
6
7
8
9
function manageHomeRoutines(task) {
  switch (task) {
    case 'clean': case 'write_code': return 'petya';
    case 'make_breakfast': case 'review_pull_request': return 'misha';
    case 'adjust_lights': case 'take_out_garbage': return 'vasya';
    case 'set_up_an_alarm': case 'check_weather': return 'siri';
    default: return 'masha';
  }
}
2
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.08.2020, 19:55
Помогаю со студенческими работами здесь

Проблема switch case
Доброго времени, форумчане! Есть проблема с switch case: switch ($('.block-hidden-window').attr('class')) { ...

Избавиться от switch case без if else
Товарищи! Подскажите пожалуйста! Как можно переписать эту конструкцию switch (play.type) { case "tragedy": thisAmount =...

Группировка case в операторе switch
Подскажите,пожалуйста, где ошибка(Unexpected token { ), вроде бы все скобки на месте: function sequentialSizes(val) { var answer =...

Var,switch,case,break,default-JavaScript
На экран выводится всё время "равняется 100", так как я хочу сделать: case>или< 100 нельзя? var x=220; var y=20; var otv=x-y ...

Как используя switch-case и DOM вывести элементы формы с лэйблами
Добрый день! подскажите пожалуйста, как используя switch-case и DOM можно вывести элементы формы с лэйблами: два инпута разной ширины,...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11680&d=1772460536 Одним из. . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru