JSFiddle - React, Tailwind, and code Playground

JavaScript

function ajedrez(reinas, rey) {
    var rX, rY, ty, i, j, k, crX, crY, pos;
    var positions = [0, 0, 0, 0, 0, 0, 0, 0, 0];
    rX = rey[0];
    rY = rey[1];
    ty = 0;
    for (i = 0; i < reinas.length; i++) {
        pos = 0;
        crX = reinas[i][0];
        crY = reinas[i][1];

        for (j = rY - 1; j <= rY + 1; j++) {
            if (j == crY) {
                positions[pos]++;
                positions[pos + 1]++;
                positions[pos + 2]++;
            }
            ty = Math.abs(crY - j);
            for (k = rX - 1; k <= rX + 1; k++, pos++) {
                if (k == crX) {
                    if (j == crY) {
                        positions[pos]--;
                        continue;
                    }
                    positions[pos]++;
                }
                if (Math.abs(crX - k) == ty) positions[pos]++;
            }
        }
    }
    var exits = 0;
    for(j=rY-1;j<=rY+1;j++)
    {   
        if(j<0 || j>7)continue; 
        for(k=rX-1;k<=rX+1;k++,pos++)
        {    
            if(k<0 || k>7)continue;             
            if(positions[pos]==0 && pos!=4)
                exits++;
        }
    }
    //return positions;
    if (!exits) {
        if (positions[4]) return "jaque mate";
        return "ahogado";
    }
    return exits;
}


var reinas = [
    [0, 0],
    [1, 1]
],
rey = [2, 2];

console.log(ajedrez(reinas, rey));