Problem creating 3 cells per row in table

I think it is working now when I check and uncheck exam types in any order using the new subsOrdered object.

subsOrdered = {};
i = 0;
j = 0;
for(var item in subs)
{
    subsOrdered[item] = {rows:i, columns:j, vals:subs[item].vals};
    j++;
    if(j>2){
        i++;
        j = 0;
    }
//need a new object here subsOrdered{} which is a reordering of subs in the order row 0 cells 1 to 2 and then row 1 cells 0 to 2 etc.
//console.log("subsOrdered:  subjects: " + item + " rows: " + subsOrdered[item].rows + " columns: " + subsOrdered[item].columns + " result: " + subsOrdered[item].vals);
}
for(var i=countRows-1; i>0; i--)
{
    //console.log("cleared");
    //deletes all rows except row 0 each time
    document.getElementById('examTables').deleteRow(i);
}
//console.log("subjects: " + item + " rows: " + subs[item].rows + " columns: " + subs[item].columns + " result: " + subs[item].vals);
var tblBody = document.getElementById('examTables');
//var tblBody = document.createElement("table");
row = "";//clear the row variable
row = document.createElement("tr");
position();
for(var item in subsOrdered)
{
    //console.log(item);
    //console.log("subjects: " + item + " rows: " + subs[item].rows + " columns: " + subs[item].columns + " result: " + subs[item].vals);
    var cols = subsOrdered[item].columns;
    if(cols == 0)
    {
        //console.log("neither 0 nor 2, col: " + cols);
        row = document.createElement("tr");
    }
    //console.log("subs:  subjects: " + item + " rows: " + subs[item].rows + " columns: " + subs[item].columns + " result: " + subs[item].vals);
    //console.log("subsOrdered:  subjects: " + item + " rows: " + subsOrdered[item].rows + " columns: " + subsOrdered[item].columns + " result: " + subsOrdered[item].vals);
    var cell = document.createElement("td");
    var text = document.createTextNode(" " + item + " ");
    cell.appendChild(text);
    row.appendChild(cell);
    //console.log("Rows in current table: " + document.getElementById('examTables').rows.length);
    if(cols == 2)
    {
        //var row = document.createElement("tr");
        //console.log("end a row, col: " + cols);
        tblBody.appendChild(row);
    }
}
//var row = document.createElement("tr");
tblBody.appendChild(row);        
console.log("End of subs iteration");
//subs[item].vals.length
//console.log(Object.keys(subs).length);//can get length
}

Thanks for all your help