Как переопределить функциональность стартового регистра lodash? - PullRequest
0 голосов
/ 09 апреля 2019

У меня есть массив строк с большим количеством элементов (здесь показан массив размера выборки с 3 элементами):

['helloWorld', 'helloEarth', '28rounds']

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

Итак, выходной массив будет: ['Hello World', 'Hello Earth', '28 Rounds']

Но я хочу, чтобы некоторые элементы не были изменены, даже если мы перейдем к функции lodash StartCase. Есть ли оператор переопределения, в который я могу обернуть строку, чтобы lodash не конвертировал ее?

Я хочу, чтобы 28rounds был напечатан как есть, но другие должны быть преобразованы в StartCase

Я не хочу делать проверку на равенство, это было бы тесно связанным решением.

1 Ответ

0 голосов
/ 09 апреля 2019

Вы можете использовать String.replace() (или замену lodash) с RegExp, чтобы перехватывать последовательности букв и заменять их новой строкой, используя _.startCase():

const arr = ['helloWorld', 'helloEarth', '28rounds']

const startCaseNoNumbers = str => str.replace(/^([A-Z]?[a-z]+)+/, _.startCase)

const result = arr.map(startCaseNoNumbers)

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.11/lodash.js"></script>
...