Рубрики
Без рубрики

JavaScript Katas: Считать овец

Мы учимся, как использовать, распространять, карту, присоединиться. С тегом JavaScript, начинающих, WebDev, Codenewbie.

Вступление 🌐

Я беру интересные каты всех уровней и объясняю, как их решить.

Решение проблем является важным навыком для вашей карьеры и вашей жизни в целом.

Тебе лучше научиться решать проблемы!

Источник

Я беру идеи для кат из разных источников и переписываю их.

Сегодняшний источник: Надеды

Понимание упражнения ❗

Во -первых, нам нужно понять упражнение!

Это важная часть (программного) разработки.

Продолжайте объяснение упражнений, пока не поймете его на 100%.

Не пытайтесь сэкономить время здесь.

Мой метод сделать это:

  1. Ввод: что мне вставить?
  2. Вывод: что я хочу выбраться?

Сегодняшнее упражнение

Напишите функцию gantsheep , это принимает один параметр: Sumfsheep Анкет

Учитывая неотрицательное число, например, 3 , вернуть строку с "1 овца ... 2 овец ... 3 овец ..." .

Ввод: число (овец).

Вывод: строка.

Думать о решении 💭

Я думаю, что понимаю упражнение, которое я вкладываю в функцию, и то, что я хочу выйти из этого).

Теперь мне нужны конкретные шаги, чтобы добраться от ввода к выводу.

Я стараюсь сделать это небольшими детскими шагами.

  1. Создайте переменную для сохранения результата
  2. Создать сообщение на основе текущего номера
  3. Добавьте его в переменную результата
  4. Повторите это, пока не достигнет последнего числа)
  5. вернуть результат

Пример:

  • Ввод: 3
  • Итерация 1: ["1 овца ..."] //Создать сообщение на основе текущего номера, добавьте его к результату
  • Итерация 2: ["1 овца ...", "2 овец ..."] //Создать сообщение на основе текущего номера
  • Итерация 3: ["1 овца ...", "2 овец ...", "3 овец ..."] //Создать сообщение на основе текущего номера
  • Вывод: "1 овца ... 2 овец ... 3 овец ..." //Создать выходной строки

Реализация (для цикла) ⛑

function countSheep(amountOfSheep) {
  // create a variable to save the result
  let result = "";

  for (let i = 1; i <= amountOfSheep; i++) {
    // create message based on the current number, add it to the result
    result += `${i} sheep...`;
  }

  return result;
}

Результат

console.log(countSheep(3));
// 1 sheep...2 sheep...3 sheep...

console.log(countSheep(1));
// 1 sheep...

Реализация (функциональная) ⛑

function countSheep(amountOfSheep) {
  return (
    [...Array(amountOfSheep)]
      // create message based on the current number
      .map((_, i) => `${i + 1} sheep...`)
      // "add" it to the result
      .join("")
  )
}

Результат

console.log(countSheep(3));
// 1 sheep...2 sheep...3 sheep...

console.log(countSheep(1));
// 1 sheep...

Детская площадка ⚽

Вы можете поиграть с кодом здесь

Следующая часть ➡

Отличная работа, приятель!

В следующий раз мы решим еще одну интересную катую. Быть в курсе!

Если я решаю конкретную ката, выстрелите мне сообщение Здесь Анкет

Если вы хотите прочитать мои последние вещи, свяжитесь со мной!

Дальнейшее чтение 📖

Вопросы ❔

  • Как часто вы делаете Катас?
  • Какую реализацию вам больше нравится? Почему?
  • Любое альтернативное решение?

Оригинал: “https://dev.to/miku86/javascript-katas-count-sheep-2e7e”