在没有某些 js 函数的情况下对文本和数字进行排序 [已关闭]

Sorting text and numbers without some js functions [closed]

提问人:Максим Глоба 提问时间:11/11/2023 更新时间:11/11/2023 访问量:27

问:


想改进这个问题吗?通过编辑这篇文章添加详细信息并澄清问题。

9天前关闭。

我无法编写程序,因为我不知道如何在不使用所有数组方法(可以使用的 push 和 pop 除外)和所有字符串方法(例如:toString、split、match)的情况下制作这个程序。此外,您不能使用字符串并添加现成的数组。我知道使用它们更好,但我不能在这种情况下这样做。请帮帮我。

LB31.JS

function f(text) {
  let groups = text.match(/[a-zA-Z]+|\d+|[^\da-zA-Z]+/g);
  if (!groups) {
      return text;
  }
  for (let i = 0; i < groups.length; i++) {
    let group = groups[i];
    if (group.match(/\d/)) {
        let uniqueDigits = [];
        for (let j = 0; j < group.length; j++) {
            if (uniqueDigits.indexOf(group[j]) === -1) {
                uniqueDigits.push(group[j]);
            }
        }
        uniqueDigits.sort((a, b) => b - a);
        let sortedDigits = uniqueDigits.join('');
        groups[i] = sortedDigits;
    }
    for (let i = 0; i < groups.length; i++) {
      const group = groups[i];
      let hasLetters = false;
      let sortedLetters = [];
      for (let j = 0; j < group.length; j++) {
          const char = group[j];
          if ((char >= 'a' && char <= 'z') || (char >= 'A' && char <= 'Z')) {
              hasLetters = true;
              sortedLetters.push(char);
          }
      }
      if (hasLetters) {
          sortedLetters.sort();
          groups[i] = sortedLetters.join('');
      }
  }
  }
  return groups.join('');
}
let input = prompt('Введіть текст:');
let result = f(input);
alert('Результат: ' + result);

LB31.HTML

<!DOCTYPE html>
<html>
<head>
    <title>Відсортувати</title>
</head>
<body>
    <script src="LB31.JS"></script>
</body>
</html>
JavaScript 数组 字符串 排序 数字

评论


答: 暂无答案