Сообщество Хекслета

Степан Рябухин около 1 часа назад →

Добрый день! По невнимательности сначала сделал решение в котором в свойство filmScreenings добавлял фильм и класс Film реализовал так, что бы проходили тесты. Соответственно прошло ошибочное решение - https://ru.hexlet.io/code_reviews/239130.

Может добавить в тесты проверку на тип объекта, который содержится в filmScreenings. Например, такой модифицированный тест

// @ts-check

import solution from '../solution';
import FilmScreening from '../entities/FilmScreening';

test('solution1', () => {
  const time = new Date();
  const filmScreening = solution('snack', 150, 'smily hall', 30, 50, time);
  const expected = {
    time,
    film: {
      name: 'snack',
      duration: 150,
    },
  };
  expect(filmScreening).toMatchObject(expected);
  expect(filmScreening.cinemaHall).toMatchObject({
    name: 'smily hall',
    rows: 30,
    cols: 50,
    filmScreenings: [{ time }],
  });
  const [firstFilmScreening] = filmScreening.cinemaHall.filmScreenings;
  expect(firstFilmScreening).toBeInstanceOf(FilmScreening);
});

test('solution2', () => {
  const time = new Date();
  const filmScreening = solution('the game', 230, 'number 2', 80, 30, time);
  const expected = {
    time,
    film: {
      name: 'the game',
      duration: 230,
    },
  };
  expect(filmScreening).toMatchObject(expected);
  expect(filmScreening.cinemaHall).toMatchObject({
    name: 'number 2',
    rows: 80,
    cols: 30,
    filmScreenings: [{ time }],
  });
  const [firstFilmScreening] = filmScreening.cinemaHall.filmScreenings;
  expect(firstFilmScreening).toBeInstanceOf(FilmScreening);
});

Аян Рыскожаев около 1 часа назад →

Да я решил с помощью решения учителя. Но я был совсем близок к решению, запутался с тернарником((( Но есть свои плюсы с помощью этого решения я смог решить Испытание "Длина последнего слова". В этом есть свою плюс))))

Дмитрий Фролов около 2 часов назад →

Добавил свойство opacity: 0.5 в общий блок .circle, тесты прошли, но фиолетовый в таком случае получается мутноватым (прозрачным) =)

Front Lab около 2 часов назад →

Похоже, что в описании функции union() использование array_unique() излишне, ведь, предыдущая функция array_merge() перезапишет значения с совпадающими ключами. Ведь логика объединения массивов подразумевает сохранение совпадающих значений, в случае, если ключи отличны.

Олег Черных около 3 часов назад →

Добрый день! Не совсем понял смысла использования только конструкции if, ведь мне нужно, чтобы при проверке выполнялась только одна из конструкций, в зависимости от результата. Мне не нужно, чтобы выполнялись все. Почему рекомендуют использовать if, вместо else if (хотя судя по результатам и его могу https://ru.hexlet.io/code_reviews/239071)?

Денис Чертенко около 3 часов назад →

Добрый день.

А какая должна быть сама функция (из теории), чтобы этот тест работал?

test('boom!', () => {
  try {
    functionWithException(2);
    expect(false).toBe(true);
  } catch (e) {
    expect(e).not.toBeNull();
  }
})

Я написал так:

function functionWithException(n) {
    if (n === 0) {
        throw new Error();
    }
    return n;
}

Тесты в любом случае проходят

Leonid K около 4 часов назад →

Прошу помощи. После фильтрации почему - то возвращается пустой массив.

Mikhail Proskuryakov около 4 часов назад →

У функций есть методы .apply и .call. А где они тогда находятся? Посмотрел в прототипах - не нашел.

Александр около 14 часов назад →

Здравствуйте! Не совсем понятна цитата из теории - "Все элементы массива имеют один тип и занимают одно и то же количество памяти." А как же, что в качестве значений в массив могут быть записаны разные типы данных и var_dump так и выдает разные типы, или это применимо к языку С, что там все значения должны быть одного типа?

Мы учим программированию с нуля до стажировки и работы. Попробуйте наш бесплатный курс «Введение в программирование» или полные программы обучения по Javascript, PHP, Python и Java.

Хекслет

Подробнее о том, почему наше обучение работает →