这是我的第一篇文章,所以我希望我能正确地做到这一点。
我正在参加一个编码类(class),我们被要求编写一段代码,该代码将要求输入一个短语,并将在控制台中返回那个大写字母移到前面的短语,但仍以相同的顺序。然后将这个重新排序的短语打印到控制台。 (我们不允许使用数组)
例如:
输入 "HeLLoTherE"
将返回 "HLLTEeoher"
但是问题是我在理解如何编写此代码时遇到问题。如何让代码选择这些大写字母并将它们移到前面?使用 .toUpperCase()?我怎样才能选择字母并将其移动到其他字母的前面?
如果有人可以向我展示如何做到这一点并稍微解释一下,我将不胜感激:)
最佳答案
您可能只是从最直接的算法开始,以使某些东西正常工作。
let value = "HeLLoTherE";
let result = "";
for (let char of value) {
if (char >= "A" && char <= "Z") {
result += char;
}
}
for (let char of value) {
if (char >= "a" && char <= "z") {
result += char;
}
}
console.log(result);
然后,您可以通过组合条件来合并 2 个循环。
let value = "HeLLoTherE";
let upper = "";
let lower = "";
for (let char of value) {
if (char >= "A" && char <= "Z") {
upper += char;
} else if (char >= "a" && char <= "z") {
lower += char;
}
}
console.log(upper + lower);
解决这个问题的另一种方法是使用正则表达式。
var value = "HeLLoTherE";
var upper = value.replace(/[^A-Z]*/g, "");
var lower = value.replace(/[^a-z]*/g, "");
console.log(upper + lower);
关于javascript - 在保持顺序的同时将字符串大写字母移到前面(JavaScript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71988598/