繁体   English   中英

使用“map”方法的字符串中的大写字母

[英]Capital letters in a string using the 'map' method

我想改成把字符串中单词的首字母大写,翻译成数组后,我用map的方法。 问题是 inheritance 在此方法中不起作用,据我了解,因为当您返回 map 元素时,将返回原始字符串:

const str = 'dkdg gkdj wijoerbj'
let r = str.split(' ').map((item, index) => {
    item[0] = item[0].toUpperCase()
    return item
})

未更改的首字母也将与这样的代码条目一起返回(在 map() 中):

item[0] = item[0].toUpperCase()
return item[0]

但是,当我返回第一行时,字母仍然变成大写,但我不知道如何返回这种情况下单词的rest(在map()中):

return item[0] = item[0].toUpperCase()

为什么 inheritance 不能正常工作,请告诉我,如果没有其他选项,如何添加单词的 rest?

您需要用字符串的 rest 来识别第一个字母。 这两行item[0] = item[0].toUpperCase();return item虽然会将第一个字母转换为大写,但仍会返回原始字符串,因为item表示原始单词 nut 而不是修改后的文本

 const str = 'dkdg gkdj wijoerbj' let r = str.split(' ').map((item, index) => { return item.charAt(0).toUpperCase() + item.substring(1, item.length) }); console.log(r)

我们可以使用两个数组 map 方法来做到这一点,如下所示。

 const str = 'dkdg gkdj wijoerbj'; let r = str.split(' ').map((item, index) => { return ([...item].map((letter, i) => { return (i == 0)? letter.toUpperCase(): letter; })).join(''); }); console.log(r);

 const str = 'dkdg gkdj wijoerbj' let r = str.split(' ').map(x=> x[0].toLocaleUpperCase()); console.log(r)

您可以尝试使用此代码使用 map 将字符串大写中单词的首字母转换为新数组并返回每个首字母的大写字母

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM