for (var r = 0; r < arrayconntor.length; r++) {
        arrayconntor.splice(r, 1);
    }你这里每调用一次splice就会加少1,这个值是动态变化的,所以删除不全,而且是隔行删除,自己想想就明白了

解决方案 »

  1.   

    这个数组中存储的是对象,
    如果存储单个值的话就可以全部删除的
    var arr = new Array(6)
    arr[0] = "George"
    arr[1] = "John"
    arr[2] = "Thomas"
    arr[3] = "James"
    arr[4] = "Adrew"
    arr[5] = "Martin"
      

  2.   

        /*for (var r = 0; r < arrayconntor.length; r++) {
            arrayconntor.splice(r, 1);
        }*/
        while (arrayconntor.length > 0) arrayconntor.splice(0, 1);1#的帖子我删的,请不要灌水,如果不知道楼主说什么可以问清楚来
      

  3.   

    arrayconntor.splice(0,arrayconntor.length);
      

  4.   

    就是说我判读数组对象中的某个对象Connector的sid是有问题的就执行splice函数,单有的还是没有删除掉。
      

  5.   

        //删除source1,source2,source3
        for (var r = 0; r < arrayconntor.length; ) {
            var o = arrayconntor[r];
            if (o.sid == 'source1' || o.sid == 'source2' || o.sid == 'source3') arrayconntor.splice(r, 1);
            else r++;//自增放这里来,不执行删除操作才增加
        }
      

  6.   


    for(var r=arrayconntor.length-1;r>=0;r--){
    if(...){
     arrayconntor.splice(r,1);
    }
    }
      

  7.   

    showbo:是不是数组执行以下splice(i,1)后面的元素就会向前移动一个位置?
    我看这个方法返回的数组中是包含删除元素的
      

  8.   

    一般是长连接,禁用服务器端输出缓冲,服务器端用线程挂起函数执行,有内容后直接发往客户端。个人建议还是使用websocket或者flash socket来做,2个都不支持使用ajax轮训也好过长连接,参考:asp.net+iframe实现服务器推送
      

  9.   

    刚开始的时候也是想用ajax的轮询,后来发现比较浪费带宽,速度也不快,谢谢你showbo,以后有问题在请教你。
    现在开始结贴了