Первая буква Javascript в верхнем регистре

| | | | | | | | | | | | | | | | | | | | | | | | | | | | |

Существует множество задач для новичков, которые помогут вам начать мыслить как инженер. Одна из таких задач заключается в том, что вы делаете заглавной первую букву каждого слова в заданной строке. В этой статье мы рассмотрим подсказку и несколько возможных решений в JavaScript.

Данная функция capitalize, которая включает str в качестве параметра, верните эту str с заглавными буквами в каждом слове. Попробуйте думать о пиковых случаях в своем решении (не как о входных данных, неправильном типе входных данных и т. д.).

Подход

  1. Вновь взгляните на подсказку. Запишите или выделите любые ключевые слова, которые вы можете найти в формулировке.
  2. Объедините значение слова «проблема». Часть самой сложной части выполнения задач по коду — это попытка выяснить, что проблема просит вас сделать. Понимание проблемы поможет вам в ее решении.
  3. возможное решение на псевдокоде. Это не обязательно должен быть настоящий код (он не обязательно должен быть исполняемым в вашей среде IDE или консольном браузере — достаточно простого английского):

Решите проблему аккуратно шаг за шагом. Это поможет вам подумать о типичных случаях — случаях, когда может быть передана неправильная запись или пустая строка — и о том, как разбить проблему на логические шаги. По сути, это ваша экспериментальная фаза — здесь нет неправильных ответов, есть только мысли о том, как подойти к проблеме. Эти мысли могут ввести в заблуждение или ввести в заблуждение — так вы узнаете о выигранных подходах к решению проблемы

Я обнаружил, что если я могу разобрать это, объясняя вслух, логика становится проще. Ваш пробег может варьироваться в зависимости от вашего подхода, но я хотел хотя бы предложить, если это сработает для вас! Прозвище для такой маленькой проблемы кажется немного излишним, но если вы сейчас попрактикуетесь в этой концепции, вам будет легче работать над гораздо более сложными проблемами.

Решения

Решение №1: split() и цикл с методами String.replace() и charAt()

<асинхронный скрипт отсрочки> leave = capitalize (str) => {= stop leave str.split (``); for (либо i = 0; i

В этом первом решении мы делим строку на пробелы. Это дает нам запись каждого уникального слова в качестве его индекса. Цикл в массиве дает нам возможность получить доступ к личным индексам каждой строки. Мы переназначили строку (в данном случае это строка arr[i]) индексу i в результате замены строки с индексом 0 (arr[i] .charAt(0) на ее значение в верхнем регистре. Arr в строке с пробелы между каждым из слов

Решение №2: разделить методом map и срезать

В этом решении мы начинаем очень похожим образом, но мы используем метод массива ES6, называемый циклической картой через сеть и возврат новых значений ‚Äã‚Äã, которые делают первый символ каждого слова заглавным. Он делает это, явно указывая, что мы будем делать с toUpperCase() для первой буквы, slice() для остальной части строки и строк объединить для получения новой версии слова. Затем мы объединяем массив и возвращаем его

Решение № 3: регулярные выражения

<сценарий асинхронной отсрочки> allowleverage = (str) => {let regex = / (^ | s) S / g return str.replace (regex, letter => letter.toUpperCase()); } Оставьте root = document.getElementById(`root`); root.innerHTML = JSON.stringify (с большой буквы (быстрая коричневая лиса прыгнула на ленивую собаку ‚Äã‚Äã`));

В этом решении мы используем регулярное выражение для поиска всех небелых символов (S) в начале строки (^ ) или после пробела(ов). Индикатор g в конце означает глобальный и позволяет нам найти все экземпляры этой модели. Затем мы используем метод replace, чтобы заменить этот шаблон регулярного выражения функцией, которая берет эту букву и возвращает ее в верхнем регистре.

заключительные мысли

Эти решения ни в коем случае не являются единственными решениями для эта проблема .. Скорее всего, когда вы начнете делать больше из этого, вы найдете решения, которые могут или не могут отличаться от тех, которые представлены в статье или блоге. Это хорошая вещь. Это означает, что вы начинаете думать как инженер — и в этом суть.

Продолжить. В этих решениях пиковые случаи не рассматриваются. Что делать, если ваша тема пуста или это число? Попробуйте добавить к приведенному выше коду, обработав эти пограничные случаи

Совет :. Используйте точку / восклицательный знак, чтобы условно определить, существует ли str. Ознакомьтесь с документацией MDN, чтобы узнать, есть ли способ узнать тип чего-либо, когда вы не обязательно знаете, что это такое.

одна вещь : попробуйте перевернуть строки вызова JavaScript , если вы еще этого не сделали

Другие ресурсы для рассмотрения:

Использование регулярных выражений в Ruby — это посвящено Ruby, но регулярное выражение часто не зависит от языка — быстро ` Дополнительные сведения о синтаксисе RegExp см. в Solution # 1. 3.

Замена текста в JavaScript: пошаговое руководство — руководство, посвященное методу замены, используемому в решении n. 1.