[英]capitalize the first letter of each word in a sentence
嗨,有人可以帮我修复我的代码,以便它完成文本中显示的任务,
function tad(strg) {
var char = strg.split('-')
for (var i = 1; i < char.length; i++) {
return char[i].charAt(0).toUpperCase() + char[i].slice(1)
}
}
camelize("background-color") == 'backgroundColor'
camelize("list-style-image") == 'listStyleImage'
假设您想将所有带有连字符的单词组合替换为驼峰式的单词。 您可以将带有String.replace
的正则表达式与回调函数一起使用,该回调函数将连字符后的所有单词都大写。
function camelize (strg) {
return strg.replace(/-(\w)/g, function (match) {
return match[1].toUpperCase();
});
}
camelize("background-color");
// backgroundColor
camelize("z-index");
// zIndex
camelize("list-style-image");
// listStyleImage
像波纹管一样改变你的功能
function tad(strg) {
var char = strg.split('-')
for (var i = 1; i < char.length; i++) {
char[i] = char[i].charAt(0).toUpperCase() + char[i].slice(1)
}
return char.join('');
}
您将在循环完成迭代之前返回。 最好的办法是像这样使用Array.prototype.reduce
function tad(strg) {
return strg.split('-').reduce(function(result, currentStr) {
return result + currentStr.charAt(0).toUpperCase() + currentStr.slice(1);
}, "");
}
console.log(tad("background-color") === "backgroundColor");
# true
console.log(tad("list-style-image") === "listStyleImage");
# true
您return
在该循环的第一次迭代中从整个函数中return
。 相反,您想对每个零件执行此操作,然后将零件连接在一起:
function camelize(string) {
return string.split('-').map(function(part, i) {
return i ? part.charAt(0).toUpperCase() + part.slice(1) : part;
}).join("");
}
// or
function camelize(string) {
return string.split('-').reduce(function(m, part) {
return m + part.charAt(0).toUpperCase() + part.slice(1);
});
}
// or
function camelize(string) {
var parts = string.split('-'),
result = ""
for (var i = 1; i < parts.length; i++) {
result += parts[i].charAt(0).toUpperCase() + parts[i].slice(1)
}
return result;
}
首先,您应该将结果连接到某个变量中,而不是循环返回。
其次,不要忘记添加array的第一个元素,因为循环是从1开始的。
function camelize(strg) {
var char = strg.split('-'), result = char[0]
for (var i = 1; i < char.length; i++) {
result += char[i].charAt(0).toUpperCase() + char[i].slice(1)
}
return result
}
alert(camelize("background-color"));
alert(camelize("list-style-image"));
这是小提琴:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.