为了账号安全,请及时绑定邮箱和手机立即绑定

标题案例一个句子错误与算法

标题案例一个句子错误与算法

杨魅力 2021-09-17 12:55:11
我必须给案例一个句子。我的算法应该可以工作,但没有。我的连接功能有问题。我似乎无法将数组加入字符串。数据类型有问题吗?我试图改变它,但它没有用,我不明白为什么。function titleCase(str) {  let newStr = str.toLowerCase().split(" ");  let all;  for (let i = 0; i < newStr.length; i++) {    let capitalize = newStr[i][0].toUpperCase();  //  console.log(capitalize);    let rest = newStr[i].slice(1);  //  console.log(rest);    all = capitalize.concat(rest);    all.join(" ");    console.log(all);  }  return all;// return all.join(" ");} titleCase("I'm a little tea pot");
查看完整描述

2 回答

?
慕哥9229398

TA贡献1877条经验 获得超6个赞

问题是您正在处理字符串,函数中唯一的数组是newStr.


字符串没有join函数。


您可以做的是分配all给一个数组并将您生成的字符串推送到其中。下面是一个例子:


function titleCase(str) {

  let newStr = str.toLowerCase().split(" ");

  const all = [];

  for (let i = 0; i < newStr.length; i++) {

    let capitalize = newStr[i][0].toUpperCase();

    let rest = newStr[i].slice(1);

    all.push(capitalize.concat(rest));

  }

  return all.join(" ");


const result = titleCase("I'm a little tea pot");

console.log(result);


查看完整回答
反对 回复 2021-09-17
?
长风秋雁

TA贡献1757条经验 获得超7个赞

尝试使用正则表达式


function titleCase(str) {

  return str.toLowerCase().replace(/[\w']+/g,m=>m.replace(/./,c=>c.toUpperCase()))


console.log( titleCase("I'm a little tea pot") );


查看完整回答
反对 回复 2021-09-17
  • 2 回答
  • 0 关注
  • 144 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信