结果展示:
代码如下:
* @Author: 森林之下 wuxinming0711@163.com
* @Date: 2022-05-22 16:08:42
* @LastEditors: 森林之下 wuxinming0711@163.com
* @LastEditTime: 2022-05-22 23:10:04
* @FilePath: \studyd:\StudyEveryDay\JS基础\No.19\demo05.html
* @Description: 字符串重组,组合成最大的数字
-->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>字符串重组</title>
</head>
<body>
<button onclick="combine()">点击开始重组</button>
<script>
function combine() {
// 获取输入的字符串
var str = prompt("请输入:");
// 获取字符串长度
var strLength = str.length;
// 定义一个空数组用于存储数字
var arr = [];
// 定义数组的下标
var j = 0;
// 将输入的字符串拆分为单个字符,存入数组
for (var i = 0; i < strLength; i++) {
// 判断该字符是否为数字(0特殊处理),只把数字存入数组
if (Number(str.slice(i, i + 1)) || Number(str.slice(i, i + 1)) === 0) {
arr[j] = str.slice(i, i + 1);
j++;
}
}
// 利用冒泡排序将数组元素按照由大到小的顺序排列
for (var m = 0; m < arr.length; m++) {
for (var n = m + 1; n < arr.length; n++) {
if (arr[m] <= arr[n]) {
// 数据交换,交换数组下标为m和数组下标为n的值
var tmp = arr[m];
arr[m] = arr[n];
arr[n] = tmp;
}
}
}
var num = 0;
// 将数组中的单个字符进行组合
for (var a = 0; a < arr.length; a++) {
num += arr[a] * 10 ** (arr.length - a - 1);
}
document.write(`你输入的字符串为:${str}<br>`);
document.write(`去掉多余字符后的数组为:${arr}<br>`);
document.write(`重组后的数字为:${num}`);
}
</script>
</body>
</html>```