提问人:Максим Глоба 提问时间:11/11/2023 更新时间:11/11/2023 访问量:27
在没有某些 js 函数的情况下对文本和数字进行排序 [已关闭]
Sorting text and numbers without some js functions [closed]
问:
我无法编写程序,因为我不知道如何在不使用所有数组方法(可以使用的 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>
答: 暂无答案
评论