【发布时间】:2020-11-08 15:15:41
【问题描述】:
我一直在使用我所学/已知的知识来练习简单的解决方案。 我面临的问题是,如何将字符串中的大写字母移到前面?
我已经解决了,但这并不符合我的预期,因为我最初的想法是 → 找到大写字母 → 将它们放入数组中 → 将大写字母与原始字符串数组连接起来,其中删除了大写字母。
因此我的问题是,如何删除第一个条件语句中的大写字母,这样我就不需要创建另一个条件语句来查找小写字母并将小写字母存储在数组中?
例如,输入字符串为'heLLo' → 输出为'LLheo'(大写字母现在在前面)。
谢谢!
function capToFront(s) {
var sp = s.split("");
var caps = [];
var lower = []
for (var i = 0; i < sp.length; i++)
{
if (sp[i] == sp[i].toUpperCase()){
caps.push(sp[i]);
**//How can i remove the capital letter in "sp" array as I've pushed them into the caps Array**
}
if (sp[i] == sp[i].toLowerCase()){
lower.push(sp[i]);
}
}
return caps.join("").concat(lower.join(""));
}
【问题讨论】:
-
提供输入数组和预期输出数组会很有帮助!
-
在
caps.push(s[i])之后执行sp.splice(i, 1)。然后最后你可以只做....concat(sp.join("")),不需要第二个if。
标签: javascript string case-sensitive uppercase letter