2 xinhud xinhud 于 2015.05.26 15:09 提问

JS判断一组数字是否相邻?

比如:
var intArr = "1,2,3,4,6,7";
然后判断
intArr里是否全是相邻的数字,如上面的少个5那就返回false,如果是1,2,3,4,5,6就返回true,请大神赐教啊……

3个回答

JaDshun
JaDshun   2015.05.26 15:21
已采纳

function checkData( array){
var flag=true;
var temp=0;
for(var i=0;i<array.length-1;i++){
temp=array[i];
if(parseInt(temp)+1!=parseInt(array[i+1]))flag=false;
}
return flag;

}

xinhud
xinhud 你先回答的,就采纳你了
2 年多之前 回复
xinhud
xinhud 好使……
2 年多之前 回复
showbo
showbo   Ds   Rxr 2015.05.26 15:39

    function checkArr(v) {
        if (!/^\d+(,\d+)+$/.test(v)) return false;
        var arr = v.split(','), first = parseInt(arr[0], 10);
        for (var i = 1; i < arr.length; i++) {
            first++;
            if (first.toString() != arr[i]) return false;
        }
        return true;
    }
    alert(checkArr("1,2,3,4,6,7"))
    alert(checkArr("1,2,3,4"))
tongyi55555
tongyi55555 split之后先判断最后一个值是否是第一个值加上长度减一,如果是再进行遍历,如果不是直接返回false。
2 年多之前 回复
xinhud
xinhud 谢谢仁兄。只是他先回答的。不好意思
2 年多之前 回复
tianyang2008
tianyang2008   2015.05.26 15:23

for(var i=1; i<intArr.length;i++)
{
if(intArr[i]-intArr[i-1]!=1 && intArr[i]-intArr[i-1]!=-1)
return false;
}
return ture;

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!