getPageNumRange
<script> function getPageNumRange(pagenumstr)
{
var pages=pagenumstr.split(";");
pages.sort(function(a,b){
return a-b;
});
var delta=0;
var lianxiu=new Array();
var bulianxiu=new Array();
for(var i=0;i<pages.length;i++){
delta=0;
delta=(1*pages[i+1])-(1*pages[i]);
if(1==delta)
{ //连续
lianxiu.push(pages[i]);
lianxiu.push(pages[i+1]);
}
else
{
if(delta>1)
{ //不连续
lianxiu.push("|");
if(lianxiu.indexOf(pages[i])==-1)
bulianxiu.push(pages[i]);
}
} if (i==pages.length-1){
if(lianxiu.indexOf(pages[i])==-1)
{
bulianxiu.push(pages[i]);
}
}
} lianxiuStr=lianxiu.toString().replace(/\|\,/g,"|").replace(/\,\|/g,"|");
var lianxiuArr=lianxiuStr.split("|");
var ResultStr1="";
for(var i=0;i<lianxiuArr.length;i++){
var yema=lianxiuArr[i];
if(""!=yema)
{
var yemaArr=yema.split(","); if(""==ResultStr1)
{
ResultStr1=yemaArr[0]+"-"+yemaArr[yemaArr.length-1];
}
else
{
ResultStr1=ResultStr1+";"+yemaArr[0]+"-"+yemaArr[yemaArr.length-1];
}
}
}//for var resultPageNums="";
var resultList=ResultStr1.split(";"); for(var i=0;i<bulianxiu.length;i++){
resultList.push(bulianxiu[i]);
} resultList.sort(function(a,b){
var v1,v2;
if(a.indexOf("-")!=-1)
{
v1=a.substr(0,a.indexOf("-"))*1;
}else v1=a*1; if(b.indexOf("-")!=-1)
{
v2=b.substr(0,b.indexOf("-"))*1;
}else v2=b*1;
return v1-v2;
});
return resultList.toString();
} alert(getPageNumRange("9;10;17;18;19;21;23;25;26;27;28;30;36;37;38;40")); </script>
getPageNumRange的更多相关文章
随机推荐
- 20175202 《Java程序设计》第六周学习总结
20175202 2018-2019-2 <Java程序设计>第六周学习总结 教材知识点总结 1.内部类: Java支持在一个类中定义另一个类,称作内部类,包含内部类的类叫做外嵌类. 内部 ...
- zabbix 监控进程
参考资料 官方文档. 有时候某个进程挂了没有发现,直到业务中断才想起去检查.希望能有个功能在某个进程挂了以后发出告警. zabbix提供proc.num这个key对后台进程进行监控.原理很简单,其实就 ...
- 2019.4.24 一题(CF 809E)——推式子+虚树
题目:http://codeforces.com/contest/809/problem/E
- docker-solr 使用host模式修改默认的8983端口号
1.使用root账号进入docker-solr docker exec -it 127627ab6247 -u root /bin/bash 2.安装vim apt-get update apt-ge ...
- PRBS
PRBS是Pseudo Random Binary Sequence的缩写,即“伪随机二进制序列”的意思.PRBS码具有“随机”特性,是因为在PRBS码流中,二进制数“0”和“1”是随机出现的,但是它 ...
- cmake中添加-fPIC编译选项方法
合并openjpeg/soxr/vidstab/snappy等多个cmake库时,为了解决下述问题: relocation R_X86_64_32 against `.text' can not be ...
- EMQ消息队列初体验
使用命令创建admin用户,密码123 emqx_ctl users add admin 配置规则/etc/emqx/acl.conf(除管理员,其他用户只能订阅限定的测试主题路径) %% 允许'ad ...
- 爬虫系列1:Requests+Xpath 爬取豆瓣电影TOP
爬虫1:Requests+Xpath 爬取豆瓣电影TOP [抓取]:参考前文 爬虫系列1:https://www.cnblogs.com/yizhiamumu/p/9451093.html [分页]: ...
- CefSharp 与 js 相互调用
https://blog.csdn.net/gong_hui2000/article/details/48155547
- Eclipse插件安装springBoot
首先说的是Eclipse的springBoot开发 首先查看你自己的eclipse的版本,点击help-->about Eclipse查看你自己的eclipse的版本 找到 Eclipse的版本 ...