<html>
<script>
var a = new Array();
a.push("1");
a.push("2");
a.push("3");
a.push("5");
a.push("8");
a.push("9");
a.push("10");
a.push("11");
a.push("15");
function deal(a){
//结果集
var result = new Array();
//记录连续值的起始值
var flag;
for(var i = 0; i < a.length; i++){
//第一次起始值
if(i==0){
flag = Number(a[i]);
}
//当前值+1
var temp1 = Number(a[i])+1;
//若当前是数组最后一个元素
if(i==a.length-1){
if(flag=temp1-1){
result.push(flag);
}else{
result.push(String(flag)+"-"+String(temp1-1));
}
break;
}
//当前值的下一个值
var temp2 = Number(a[i+1]);
alert(temp1+"------"+temp2);
alert(temp1==temp2);
if(temp1 != temp2){
if(flag==temp1-1){
result.push(flag);
}else{
result.push(String(flag)+"-"+String(temp1-1));
}
flag = temp2;
}
}
return result;
}
var result = deal(a);
alert(result.toString());
</script>
</html>