@bonchev1

Как запросить у пользователя возраст через prompt, чтобы ответ выводился с правильным словом: «год», «года» или «лет»?

Задача:
Запросить у пользователя возраст с помощью prompt. Добавить условие при котором возраст будет выводиться с правильным словом: "год", "года" или "лет". Т.е. "29 лет" или "4 года".
Пока додумался только до этого
'use strict';
var number = +prompt('Сколько Вам лет?');
var year;
if (number == 1 || 21 || 31 || 41 || 51 || 61 || 71 || 81 || 91 || 101) {
    year = ('год');
  }
if (number == 2 || 3 || 4 || 22 || 23 || 24 || 32 || 33 || 34 || 42 || 43 || 44 || 52 || 53 || 54 || 62 || 63 || 64 || 72 || 73 ||74) {
  year = ('года');
 }
alert(`Вам ${number} ${year} `);

Само собой это очень примитивно, но я новичок в js
  • Вопрос задан
  • 4153 просмотра
Решения вопроса 1
john36allTa
@john36allTa
alien glow of a dirty mind
let yo = (y) => /\d*1\d$/.test(y) || /[05-9]$/.test(y) ? 'лет' : ( /1$/.test(y) ? 'год' : 'года');

let years = parseInt(prompt('Сколько Вам лет?'));
alert(`Вам ${years} ${yo(years)}`);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@MarvinJan
Уберите + перед promt, берите у строки последнее число и ставьте этот плюс туда, либо поделите с остатком на 10 / 100. Затем

lastNumber === 1 выводим "год"

lastNumber > 1 && lastNumber < 5 выводим "года". И тд.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
22 нояб. 2024, в 06:06
1500 руб./в час
22 нояб. 2024, в 06:04
1 руб./за проект
22 нояб. 2024, в 03:54
1500 руб./за проект