写递归时,原函数前必须加return 否则为undefined就无法返回了

shuffle2:function (arr) {

var arr1 =this.deepCopy(arr);

    var len = arr1.length;

    for(var i =0; i < len -1; i++){

var idx = Math.floor(Math.random() * (len - i));

        var temp = arr1[idx];

        arr1[idx] = arr1[len - i -1];

        arr1[len - i -1] = temp;

    }

var _num =0;

    for(var i =0; i < len-1; i++){

if(arr1[i].flag == arr[i].flag){

_num ++

}

}

cc.log(arr)

cc.log(arr1)

if(_num >1){

return this.shuffle(arr);

    }else{

return arr1;

    }

},

你可能感兴趣的:(写递归时,原函数前必须加return 否则为undefined就无法返回了)