Вступление 🌐
Решение проблем является важным навыком для вашей карьеры и вашей жизни в целом.
Вот почему я беру интересные каты всех уровней, настраиваю их и объясняю, как их решить.
Понимание упражнения
Во -первых, нам нужно понять упражнение! Если вы этого не понимаете, вы не можете решить это!
Мой личный метод:
- Ввод: что мне вставить?
- Вывод: что я хочу выбраться?
Сегодняшнее упражнение
Источник: Надеды
Сегодня как маленькая ката с небольшим количеством исторического фона о Сигмунд Фрейд Анкет
Напишите функцию Тофред , это принимает один параметр: MyString Анкет
Учитывая строку, например, "Сигмунд Фрейд" , Верните строку с каждым словом, замененным словом "Секс" Например, "Секс секс" Анкет Пустая строка или нет аргумента, должна привести к пустой строке.
Ввод: строка.
Вывод: строка.
Думать о решении 💭
Я думаю, что понимаю упражнение, которое я вкладываю в функцию, и то, что я хочу выйти из этого).
Теперь мне нужны конкретные шаги, чтобы добраться от ввода к выводу.
Я стараюсь сделать это на маленьких детских шагах:
- Вернуть пустую строку, если строка пуста или нет аргумента
- Перевернуть каждое слово строки
- Замените каждое слово
"Секс" - Вернуть строку всех новых слов
Пример:
- Ввод:
"Зигмунд Фрейд" - Вернуть пустую строку, если строка пуста или нет аргумента:
ЛОЖЬ - Итерация 1: “sigmund” => заменить его =>
"Секс" - Итерация 2: “freud” => заменить его =>
"Секс" - Вернуть строку всех новых слов:
"Секс секс" - Вывод:
"Секс секс"✅
Реализация (функциональная) ⛑
function toFreud(myString) {
return !myString
? "" // return an empty string if string is empty or no argument
: myString
.split(" ") // split string into words
.map((word) => "sex") // replace each word with `"sex"`
.join(" "); // put replaced words together
}
Результат
console.log(toFreud("Sigmund Freud"));
// "sex sex" ✅
console.log(toFreud(""));
// "" ✅
Реализация (regex) ⛑
function toFreudRegex(myString) {
return !myString
? ""
: myString.replace(/\S+/g, "sex"); // find all places that have "one or more non-white space", replace them with "sex"
}
Regex \ S Класс символов «соответствует одному персонажу, кроме белого пространства». Вы можете прочитать об этом Здесь Анкет
Regex + Квантовой “соответствует предыдущему элементу 1 или более раз”. Вы можете прочитать об этом Здесь Анкет
Результат
console.log(toFreud("Sigmund Freud"));
// "sex sex" ✅
console.log(toFreud(""));
// "" ✅
Детская площадка ⚽
Вы можете поиграть с кодом здесь
Следующая часть ➡
Отличная работа!
Мы научились использовать расколоть , карта , присоединиться , заменить и какая -то регуляция.
Я надеюсь, что вы сможете использовать свои новые знания, чтобы легче решить проблемы!
В следующий раз мы решим еще одну интересную катую. Быть в курсе!
Если я решаю конкретную ката, выстрелите мне сообщение Здесь Анкет
Если вы хотите прочитать мои последние вещи, свяжитесь со мной!
Дальнейшее чтение 📖
Вопросы ❔
- Как часто вы делаете Катас?
- Какая реализация вам больше нравится? Почему?
- Любое альтернативное решение?
Оригинал: “https://dev.to/miku86/javascript-katas-freudian-translator-489j”