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"