rows.add(array).draw() is getting called multiple times
rows.add(array).draw() is getting called multiple times

I have done this to create number of columns based on the data my server returns back. I want to check if the data in the array matches the column name, if it does then return yes else return no.
function initTable(userJvmsArray) {
var collumnsCallbacks = [{
title: "Username",
data: "username"
}];
for (var i = 0; i < $scope.unique.length; i++) {
$('#nameColumn').after('<th>' + $scope.unique[i] + '</th>');
var jvm = $scope.unique[i];
var col = {
title: jvm,
data: function(data, type, row) {
var data2 = data;
var jvms = $scope.unique;
for (var k = 1; k < jvms.length; k++) {
console.log(jvms);
for (var j = 0; j < data2.myarray.length; j++) {
if (table.column(k).title() == data2.myarray[j].Name) {
console.log(table.column(k).title() + " = " + data2.myarray[j].Name + " YES");
return "yes";
} else {
console.log(table.column(k).title() + " = " + data2.myarray[j].Name + " NO");
return "no";
}
}
}
}
};
collumnsCallbacks.push(col);
$scope.columns = collumnsCallbacks;
}
$scope.myTable = $('#myTable').DataTable({
'paging': true,
"pageLength": 3,
'columns': collumnsCallbacks
});
Problem is that the function seems to run more than once and populating the table incorrectly:
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user1: myword = myword YES myctrl.controller.js:66
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user1: myword = myword YES myctrl.controller.js:66
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user11: myword = secondword NO myctrl.controller.js:69
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user11: myword = secondword NO myctrl.controller.js:69
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user1: myword = myword YES myctrl.controller.js:66
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user11: myword = secondword NO myctrl.controller.js:69
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user1: myword = myword YES myctrl.controller.js:66
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user11: myword = secondword NO myctrl.controller.js:69
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user1: myword = myword YES myctrl.controller.js:66
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user1: myword = myword YES myctrl.controller.js:66
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user11: myword = secondword NO myctrl.controller.js:69
["myword", "secondword", fastLoop: function, fastLoopAsc: function] myctrl.controller.js:63
user11: myword = secondword NO
This discussion has been closed.