新建文件名字的排序和补位问题
- 情景重现:需要向数组中按顺序添加添加新建文件夹,命名规则为
新建文件夹${i}
- 情景重现:数组中某一个文件夹(数据)被删除时,再次点击新建文件夹时,需要判断是否补位
<!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>
</head>
<body>
<script>
let data = [
"我的音乐",
"我的课程",
"新建文件夹",
"新建文件夹(3)"
];
document.onclick=function(){
var names=data.filter(function(item){
if(item.substring(0,6)=='新建文件夹'){
return true;
}else if (
item.substring(0,6)=="新建文件夹("
&& Number(item.substring(6,item.length-1))>=2
&& item.substring(item.length-1)==')') {
return true;
}
return false;
})
names.sort(function(n1,n2){
n1=n1.substring(6,n1.length-1)
n2=n2.substring(6,n2.length-1)
n1 = isNaN(n1)?0:n1;
n2 = isNaN(n2)?0:n2;
return n1-n2
})
if(names[0]!=='新建文件夹'){
data.push('新建文件夹')
return;
}
for(var i=1;i<names.length;i++){
if(Number(names[i].substring(6,names[i].length-1))!== i+1){
data.push(`新建文件夹(${i+1})`)
return;
}
}
data.push(`新建文件夹(${names.length+1})`)
}
</script>