Вступление 🌐
Я беру интересные каты всех уровней и объясняю, как их решить.
Решение проблем является важным навыком для вашей карьеры и вашей жизни в целом.
Тебе лучше научиться решать проблемы!
Источник
Я беру идеи для кат из разных источников и переписываю их.
Сегодняшний источник: Надеды
Понимание упражнения ❗
Во -первых, нам нужно понять упражнение!
Это важная часть (программного) разработки.
Продолжайте объяснение упражнений, пока не поймете его на 100%.
Не пытайтесь сэкономить время здесь.
Мой метод сделать это:
- Ввод: что мне вставить?
- Вывод: что я хочу выбраться?
Сегодняшнее упражнение
Напишите функцию gantsheep , это принимает один параметр: Sumfsheep Анкет
Учитывая неотрицательное число, например, 3 , вернуть строку с "1 овца ... 2 овец ... 3 овец ..." .
Ввод: число (овец).
Вывод: строка.
Думать о решении 💭
Я думаю, что понимаю упражнение, которое я вкладываю в функцию, и то, что я хочу выйти из этого).
Теперь мне нужны конкретные шаги, чтобы добраться от ввода к выводу.
Я стараюсь сделать это небольшими детскими шагами.
- Создайте переменную для сохранения результата
- Создать сообщение на основе текущего номера
- Добавьте его в переменную результата
- Повторите это, пока не достигнет последнего числа)
- вернуть результат
Пример:
- Ввод:
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”