Как разработчик FE, вы должны обрабатывать все типы имен свойств и правильно отображать их для пользователя.
Например, вы не хотите, чтобы пользователь видел:
количествоСтудентов = 100
в вашем пользовательском интерфейсе.
вы, вероятно, предпочтете отобразить:
Количество студентов = 100.
В сети много конвертеров, но большинство из них работают с простыми случаями.
Как насчет действительно сложного имени свойства.
Вот две написанные на Typescript функции, которые помогут вам получить желаемый результат. Вы можете использовать их независимо, добавить в трубу и т. д.
export function stringToCamelcase(str: string) { if (str) { let wordsArray = str.split(" "); let newStr: string = ""; wordsArray.forEach(currentWord => { let formmatedWord = ""; if (!wordIsUppercase(currentWord)) { for (let i = 0; i < currentWord.length; i++) { const currentChar = currentWord[i]; const nextChar = currentWord[i + 1]; if (i > 0) { if (currentChar == currentChar.toLowerCase() && nextChar && nextChar == nextChar.toUpperCase() && currentWord[i + 2]) { formmatedWord = formmatedWord + currentChar + " "; } else { formmatedWord = formmatedWord + currentChar; } } if (i == 0) { formmatedWord = currentChar.toUpperCase(); } } newStr = newStr + " " + formmatedWord; } else { newStr = newStr + " " + currentWord; } }) if (newStr) { return newStr.replace(/\s\s+/g, ' '); } } } export function wordIsUppercase(word: string) { return word == word.toUpperCase(); }