编辑代码

function clickReverse(n, m,arr){
    let clickNumber= 0
    for(let i = 0; i<arr.length;i++){
        for(let n = 0; n<arr[i].length; n++){
            if(arr[i][n] === 1){
                clickNumber = clickNumber+1
                arr = setRelation(i,n,arr)
                // console.log(arr)
            }
        }
    }
    console.log(clickNumber)
}

function setRelation(x,y,arr){
        arr[x][y] = 0
        //2.设置左右两个为零
        if((y-1)>-1 && arr[x][y-1] === 1){
            arr = setRelation(x,y-1,arr)
        }
        if((y+1)<arr[x].length && arr[x][y+1] === 1){
            arr =setRelation(x,y+1,arr)
        }
        //3.设置上,左上,右上为零
        if((x-1)>-1 && arr[x-1][y] === 1){
            arr =setRelation(x-1,y,arr)
        }
        if((x-1)>-1 && (y-1)>-1 && arr[x-1][y-1] === 1){
            arr =setRelation(x-1,y-1,arr)
        }
        if((x-1)>-1 && (y+1)<arr[x-1].length && arr[x-1][y+1] === 1){
            arr =setRelation(x-1,y+1,arr)
        }
        //4.设置下,左下,右下为零
        if((x+1)<arr.length && arr[x+1][y] === 1 ){
            arr =setRelation(x+1,y,arr)
        }
        if((x+1)<arr.length && (y-1)>-1 && arr[x+1][y-1] ===1){
            arr =setRelation(x+1,y-1,arr)
        }
        if((x+1)<arr.length && y+1<arr[x+1].length && arr[x+1][y+1]===1){
            arr =setRelation(x+1,y+1,arr)
        }
        return arr
    }
// clickReverse(3,3,[[1,0,1],[0,1,0],[1,0,1]])
clickReverse(4,4,[[1,1,0,0],[0,0,0,1],[0,0,1,1],[1,1,1,1]])