javascript - 在保持顺序的同时将字符串大写字母移到前面(JavaScript)

标签 javascript

这是我的第一篇文章,所以我希望我能正确地做到这一点。
我正在参加一个编码类(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/

相关文章:

javascript - Moment.js 的简单函数给出了意想不到的(?)结果

javascript - 如何构建 MongoDB 查询以使用 ACL 评估允许和拒绝的权限链?

javascript - 使用 JavaScript 和 HTML 将多个文件下载为文件夹?

javascript - Firefox 中的 event.offsetX

javascript - 通过原型(prototype)继承,父对象的值没有改变

javascript - 如何使用新创建的元素刷新 DOM

javascript - 如何执行某些功能

javascript - 如何使用 CommonJS 模块将 webpack 和 ES6 与依赖项一起使用?

javascript - 编辑 iframe 的 css(soundcloud 嵌入式播放器)

javascript - 循环遍历 Google Places 评论数组并从回调函数获取值