为什么会有这个小东西
就是因为在学习某个文档的时候是乱序的,看起来和使用起来忒难受,所以为了达到想要的效果随便写了一个“能用”的重排代码
原始数据
513. player 557. phone 601. cause 645. economy
514. agree 558. either 602. hair 646. medical
515. especially 559. data 603. look 647. hospital
想要效果
513 . player
514 . agree
515 . especially
557 . phone
558 . either
559 . data
601 . cause
602 . hair
603 . look
645 . economy
646 . medical
647 . hospital
代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
*{
margin: 0;
padding: 0;
}
div{
display: flex;
flex-wrap: wrap;
}
p{
width: 50%;
}
</style>
</head>
<body>
<div id='q'></div>
<script>
//原始字符串
//此程序仅限以下格式字符串转进行重排
var string = `513. player 557. phone 601. cause 645. economy
514. agree 558. either 602. hair 646. medical
515. especially 559. data 603. look 647. hospital`;
string+='648.最后一个'
var stringSplit = string.split(".");
var newLists = [];
var newString = '';
var state = 0;
var num = 0;
var num2 = 0;
for(var j = 0;j<stringSplit.length;j++){
if (new RegExp("[0-9]").test(stringSplit[j])) {//包含
for(var z= 0;z<stringSplit[j].length;z++){
if(!isNaN(stringSplit[j][z])){//是数字
if(state == 0){
if(num ==0){
newString+= ",";
}
newString+= stringSplit[j][z];
}else{
newString+= stringSplit[j][z];
}
num++;
num2++;
}else{
if(num2 != 0){
newString+= "."+stringSplit[j][z];
}else{
newString+= stringSplit[j][z];
}
num2 = 0;
num = 0;
}
}
}else{//不包含
console.log(false)
newString+= stringSplit[j];
}
}
var gg = newString.substr(1)
newLists = gg.split(",")
var b = newLists.sort((a,b)=>{
if(parseInt(a.split(".")[0]) > parseInt(b.split(".")[0])){
return 1;
}else{
return -1;
}
});
let c = document.getElementById("q");
for(var i =0;i<b.length;i++){
var br = document.createElement("p");
br.innerHTML = b[i].split('.')[0]+". "+b[i].split(".")[1];
c.appendChild(br)
}
</script>
</body>
</html>
网友评论