我一直在练习使用我所学/已知的简单解决方案。
我遇到的问题是如何将字符串中的大写字母移到前面?
我已经解决了它,但这不符合我的预期,因为我的原始想法是:找到大写字母 → 将它们放入数组中 → 用原始字符串数组与删除其中大写字母的字符串数组连接大写字母。
因此,我的问题是,在第一个条件语句中如何去除大写字母,以便我不需要创建另一个条件语句来查找小写字母并将其存储在数组中?
例如,输入字符串是'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
。 - Dev Yego