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

JavaScript Katas: Freudian переводчик

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

Вступление 🌐

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

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

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

Во -первых, нам нужно понять упражнение! Если вы этого не понимаете, вы не можете решить это!

Мой личный метод:

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

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

Источник: Надеды

Сегодня как маленькая ката с небольшим количеством исторического фона о Сигмунд Фрейд Анкет

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

Учитывая строку, например, "Сигмунд Фрейд" , Верните строку с каждым словом, замененным словом "Секс" Например, "Секс секс" Анкет Пустая строка или нет аргумента, должна привести к пустой строке.

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

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

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

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

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

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

  1. Вернуть пустую строку, если строка пуста или нет аргумента
  2. Перевернуть каждое слово строки
  3. Замените каждое слово "Секс"
  4. Вернуть строку всех новых слов

Пример:

  • Ввод: "Зигмунд Фрейд"
  • Вернуть пустую строку, если строка пуста или нет аргумента: ЛОЖЬ
  • Итерация 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”