upperCase JavaScript中字符串的第一个元素

问题描述

错误显示 AssertionError:预期'NEVER GIVE UP'与'NEVER GIVE UP'相当” 而且我无法弄清楚为什么忽略字符串开头的空白。这是我的代码

function letterCapitalize(str) {
  if (str === '') {
    return ''
  }
  let string = '' //array to string
  let word = str.split(' ')
  for (let i = 0; i < word.length; i++) {
    if (word[i] !== '') {
      string = string + word[i][0].toupperCase() + word[i].slice(1,word[i].length) + ' '
    } else if (word[i] === '') {
      string = ' ' + string
    }
  }
  return string.slice(0,string.length - 1)
}

控制台日志示例包括

let output1 = letterCapitalize('hello world');
console.log(output1); // "Hello World"
let output2 = letterCapitalize('javascript  is sexy ');
console.log(output2); // "Javascript  Is Sexy "

解决方法

您的测试似乎最后需要空格,如果您确实想将字符串大写,请尝试此操作,或者共享您的测试用例代码,以便我看看。

const capitalize = str => {
  if (!str) return "";
  return str
    .split(" ")
    .map(el => el[0].toUpperCase() + el.slice(1))
    .join(" ");
}