87,994
社区成员
发帖
与我相关
我的任务
分享
<script>
function getSameRange(array){
var obj=new Object();
for(var i=0;i<array.length;i++){
obj[array[i]]=(i+1);
}
var ret=[]
for(var k in obj){
if((obj[++k]-obj[--k])&&(obj[++k]-obj[--k])!=1){
ret[ret.length]=(obj[k])+"-"+(obj[++k]-1)
}
}
return ret
}
var v1=[1,2,3,3,3,3,4,5,6,6,7,7,10,11];
var ret=getSameRange(v1);
alert("结果范围是"+ret)
</script>
var rs=[];
var a=[1,2,3,3,3,4,5,6,6,6,6,7,8,9];
function diff(begin){
if(!a[begin])
return;
var i=0;
var n=begin;
while(a[n+1]&&a[n]==a[n+1]){
i++;
n++;
}
if(i>1){
rs.push(begin+'-'+(begin+i));
}
n++
diff(n);
}
diff(0);
alert(rs.join(','));
<script type="text/javascript">
var arr = [1, 2, 2, 3, 3, 3, 5, 6, 6, 7, 8, 8, 9];
function stripDouble(arr){
var a = [];
for(var i = 0; i < arr.length; i++){
if(a[a.length - 1] != arr[i]){
a.push(arr[i]);
}
}
return a;
}
function check(arr){
var ret = [];
var a = stripDouble(arr);
var i = 0;
while(i < a.length - 2){
var x = a[i];
var y = a[i + 1];
var z = a[i + 2];
if(z - x == 2){
ret.push(x + '-' + z);
}
i++;
}
return ret;
}
var ret = check(arr);
for(var i = 0; i < ret.length; i++){
alert(ret[i]);
}
</script>
var a=[1,2,3,3,3,3,4,5,6,7];
var b=[1,2,3,3,3,4,5,6,6,6,6,7,8,9];
function re(obj,n){
if(obj[n]==obj[n+1])
return true;
return false;
}
function re2(obj,n){
var ret=n;
if(re(obj,n)&&re(obj,n+1)){
while(re(obj,n)){n++;}
ret=n;
}
return n;
}
function re3(obj){
var list=new Array();
for(var i=0; i<obj.length; i++){
var j=re2(obj,i);
if(i!=j){
list.push(i+"-"+j);
i=j;
}
}
return list;
}
alert(re3(a));
alert(re3(b));
<script type="text/javascript">
var arr = [1, 2, 2, 3, 3, 3, 5, 6, 6, 7, 8, 8, 9];
function stripDouble(arr){
var a = [];
for(var i = 0; i < arr.length; i++){
if(a[a.length - 1] != arr[i]){
a.push(arr[i]);
}
}
return a;
}
function check(arr){
var ret = [];
var a = stripDouble(arr);
var i = 0;
while(i < a.length - 3){
var x = a[i];
var y = a[i + 1];
var z = a[i + 2];
if(z - x == 2){
ret.push({
x: x,
y: y,
z: z
});
}
i++;
}
return ret;
}
var ret = check(arr);
for(var i = 0; i < ret.length; i++){
alert(ret[i].x + ', ' + ret[i].y + ', '+ ret[i].z);
}
</script>
<script>
var arr=[1,2,3,3,3,4,4,5,6,7];
var res=[];
var last="";
var o=false;
for(var i=0;i<arr.length;i++) {
if(last===arr[i] && !o) {
res.push(arr[i-1]);
} else {
if(res.length<2)
res=[];
else {
if(!o)
res.push(arr[i-1]);
o=true;
}
}
last=arr[i];
}
alert(res);
</script>