$(actionsAllowed).each
returns the first element of the iteration. You seem to want this :
var actionArray = [];
$(actionsAllowed).each(function () {
var actionNodes = this.childNodes;
var actionNumber = actionNodes.length;
var array = new Array(actionNumber)
for (var i = 0; i < actionNodes.length; i++) {
var action = actionNodes[i].nodeName
array[i] = action
console.log(action);
}
actionArray.push(array);
});
EDIT : If what you want is a big array instead of an array of arrays, change it to
var actionArray = [];
$(actionsAllowed).each(function () {
var actionNodes = this.childNodes;
for (var i = 0; i < actionNodes.length; i++) {
var action = actionNodes[i].nodeName
actionArray.push(action);
console.log(action);
}
});