a occhio direi che l'interprete js se la prende a male quando incontra questo assegnamento
arrAree[0][1][1] = "Difesa e Spazio";
poichè prima di questa istruzione dovresti specificare
arrAree[0][1] = [];
stessa cosa anche qui
arrAree[0][1][1][1] = "Algoritmi (calcolo della copertura radar ...";
prima devi specificare che l'elemento precedente è un array
arrAree[0][1][1] = [];
e in generale dovunque aumenti la profondità dell'array senza prima dichiarare come array l'elemento che vuoi estendere.
in realtà l'deale sarebbe stata una struttura object literal del tipo
codice:
var aree = {
'funzionale' : {
'difesa spazio' : [
'algoritmi',
'applicazioni gis',
...
]
},
'gestionale' : {
},
...
}