我知道CSS属性,text-transform: capitalize
但是有人可以帮助我使用Javascript复制此属性吗?
我想将参数传递给我的函数,该函数将返回每个单词首字母大写的字符串。
我已经走了很远,但是我仍然试图将我的字符串数组分解成块:
function upper(x){ x = x.split(" "); // this function should return chunks but when called I'm getting undefined Array.prototype.chunk = function ( n ) { return [ this.slice( 0, n ) ].concat( this.slice(n).chunk(n) ); }; x = x.chunk; } upper("chimpanzees like cigars")
在我猜出块之后,我需要将每个块再次拆分为第一个字符和其余字符,.toUpperCase()
在第一个字符上使用,将其与其余字符一起备份,然后将这些块再次合并为字符串?
有没有更简单的方法可以做到这一点?
我想出了一个既解决单个词,也为一个阵列的话。它还将确保所有其他字母都为小写字母,以保持良好的效果。我也使用了Airbnb样式指南。我希望这有帮助!
const mixedArr = ['foo', 'bAr', 'Bas', 'toTESmaGoaTs'];
const word = 'taMpa';
function capitalizeOne(str) {
return str.charAt(0).toUpperCase().concat(str.slice(1).toLowerCase());
}
function capitalizeMany(args) {
return args.map(e => {
return e.charAt(0).toUpperCase().concat(e.slice(1).toLowerCase());
});
};
const cappedSingle = capitalizeOne(word);
const cappedMany = capitalizeMany(mixedArr);
console.log(cappedSingle);
console.log(cappedMany);