Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2023, 11:36
Tri Tri вне форума
Новичок на форуме
Отправить личное сообщение для Tri Посмотреть профиль Найти все сообщения от Tri
 
Регистрация: 17.02.2023
Сообщений: 7

Выполнение проверки массива
Здраствуйте

Хочу сделать проверку месяцев, чтобы тест прверялся и выдавал желаемый результат, но не до конца понимаю как это сделать

Пробовал пойти через typrof, но не вышло

Прошу помочь с кодом

// Функция возвращает название месяца по его номеру.
// Например getMonthName(1) должен вернуть строку "Январь".
// В случае, если месяца с таким номером нет, возвращается null.
function getMonthName(index) {
  
}

export { getMonthName };


import { getMonthName } from "./index";

it("Проверка существующего месяца", () => {
  expect(getMonthName(1)).toBe("Январь");
  expect(getMonthName(2)).toBe("Февраль");
  expect(getMonthName(3)).toBe("Март");
  expect(getMonthName(4)).toBe("Апрель");
  expect(getMonthName(5)).toBe("Май");
  expect(getMonthName(6)).toBe("Июнь");
  expect(getMonthName(7)).toBe("Июль");
  expect(getMonthName(8)).toBe("Август");
  expect(getMonthName(9)).toBe("Сентябрь");
  expect(getMonthName(10)).toBe("Октябрь");
  expect(getMonthName(11)).toBe("Ноябрь");
  expect(getMonthName(12)).toBe("Декабрь");
});

it("Проверка несуществующего месяца", () => {
  expect(getMonthName(-1)).toBeNull();
  expect(getMonthName(15)).toBeNull();
  expect(getMonthName("дерево")).toBeNull();
});
Ответить с цитированием
  #2 (permalink)  
Старый 17.02.2023, 12:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Tri,
function getMonthName(index) {
    return {1 : 'Январь', 2 : 'Февраль', ...}[index] || null
}
Ответить с цитированием
  #3 (permalink)  
Старый 17.02.2023, 12:15
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Tri,
если хочется погорячее)))
let months = {
    "1": "Январь",
    "2": "Февраль",
    "3": "Март",
    "4": "Апрель",
    "5": "Май",
    "6": "Июнь",
    "7": "Июль",
    "8": "Август",
    "9": "Сентрябрь",
    "10": "Октябрь",
    "11": "Ноябрь",
    "12": "Декабрь"
}
months = new Proxy(months, {
  get(target, key) {
    if (key in target) {
      return target[key];
    } else {

      return null;
    }
  }
});
function getMonthName(index) {
    return months[index]
}
alert(getMonthName(-1));
alert(getMonthName(12));
alert(getMonthName("дерево"));
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнение N async параллельных скриптов, с лимитом и ожиданием их выполнения b5414 Общие вопросы Javascript 3 27.08.2019 19:37
Выполнение массива промисов последовательно arealhz Node.JS 30 07.07.2018 12:45
Обход многомерного массива с задержкой после каждого цикла Walk Общие вопросы Javascript 2 14.08.2017 16:17
Объединить три конструкции проверки полей в одну golopogos Элементы интерфейса 0 27.01.2015 10:04
Выполнение проверки после наступления события juggalo Events/DOM/Window 6 06.10.2012 01:37