JSFiddle - React, Tailwind, and code Playground

HTML

<div id="text1"></div>
<div id="text2"></div>

JavaScript

dgrid = [];
dgrid.push([1,1,0]);
dgrid.push([0,-1,0]);
dgrid.push([0,0,0]);
nodesvis = 0;

var ret = findMove(dgrid,-1);
var move = ret.y;
var x = Math.floor(move/3);
var y = move%3;
var txt1 = "Nodes visited = "+nodesvis;
var txt2 = "minimax returns "+ret.x+" "+ret.y;

document.getElementById('text1').innerHTML = txt1;
document.getElementById('text2').innerHTML = txt2;

function Vector(x, y) {
    this.x = x;
    this.y = y;
}

function winning(a,type){
    //check hor rows
    for (var i=0; i<3; i++){
        var res = true;
        for (var j=0; j<3; j++){
            if (a[i][j]!=type){
                res = false; break;
            }
        }
        if (res==true) {return true;}
    }
    //check ver cols
    for (var i=0; i<3; i++){
        var res = true;
        for (var j=0; j<3; j++){
            if (a[j][i]!=type){
                res = false; break;
            }
        }
        if (res==true) {return true;}
    }
    //check two dias
    var left = true;
    var right = true;
    for (var i=0; i<3; i++){
        if (a[i][i]!=type){left = false;}
        if (a[i][2-i]!=type){right = false;}
    }
    if (left==true){return true;}
    if (right==true){return true;}
    return false;
}

function draw(a,type){
    for (var i=0; i<3; i++){
        for (var j=0; j<3; j++){
            if (a[i][j]==0){return false;}
        }
    }
    var flag = winning(a,type);
    if (flag==true){return false;}
    return true;
}

function losing(a,type){
    var nextype = type;
    nextype = nextype*(-1);
    return winning(a,nextype);
}
//////////////////////////////////////////////
function findMove(a,tomove){
    nodesvis++;
    if (winning(a,-1)){
        return new Vector(1,-1);
    }
    if (losing(a,-1)){
        return new Vector(-1,-1);
    }
    if (draw(a,-1)){
        return new Vector(0,-1);
    }

    var best = -1;
    var nbest = -1;
    var gstat = -1;
    if (tomove==1){
        gstat = 1;
    }
    for (var i=0; i<9;...