@EVOSandru6

Как в javascript превратить 2 слова строки (если их 2), разделенных пробелом в camelCase?

Добрый день,

На входе :

Good Day
good night
Good Evening
Sleep
Go

На выходе:

goodDay
goodNight
goodEvening
sleep
Go

Можно ли произвести в одно действие без implode, explode?
  • Вопрос задан
  • 94 просмотра
Решения вопроса 3
yarkov
@yarkov Куратор тега JavaScript
Помог ответ? Отметь решением.
Ответ написан
Комментировать
streetflush
@streetflush
a.split('').map( (w,i,a) =>  a[i-1] && a[i-1] == ' ' ? w.toUpperCase() : w.toLowerCase() ).filter( w => w != ' ' ).join('')
Ответ написан
Комментировать
sergiks
@sergiks Куратор тега JavaScript
♬♬
function camelCase(str) {
  return str
  .trim()
  .split(' ')
  .map((w, i, a) => {
    if (i === 0) return w.toLowerCase();
    return w.substr(0, 1).toUpperCase() + w.substr(1).toLowerCase();
  })
  .join('')
}


function test() {
  const testIn = ['Good Day', 'good night', 'Good Evening', 'Sleep', 'Go'];
  const testOut = ['goodDay', 'goodNight', 'goodEvening', 'sleep', 'Go'];
  for (let i = 0; i < testIn.length; i++) {
    const input = testIn[i];
    const output = camelCase(input);
    if (testOut[i] === output) console.log("Test passed: %s => %s", input, output);
    else console.error("Test failed: %s => %s", input, output);
  }
}

test();


Фейлит только на "Go", который у вас противоречит "Sleep"
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы