2013-05-21 14 views
11

In Ruby, it's possible for an array to contain itself, diventando un array ricorsivo. È possibile inserire anche una matrice JavaScript all'interno di se stessa?È possibile che un array JavaScript si contenga da solo?

var arr = new Array(); 
arr[0] = "The next element of this array is the array itself." 

Ora come posso spostare arr in arr[1] in modo che la matrice stessa in modo ricorsivo, contiene (e. G., In modo che arr[1] è arr, arr[1][1] contiene arr, arr[1][1][1] contiene arr, ecc)?

+1

Basta impostarlo su 'arr'. 'arr [1] = arr'. –

+0

È possibile farlo, ma causerà errori JSON.stringify se è necessario inviarlo a una macchina remota. – Paul

risposta

14

Certo:

var a = [1]; 
a.push(a); 

Sono lo stesso oggetto:

a[1] === a[1][1] // true 

E uno screenshot convincente:

enter image description here

+0

Da quale applicazione desktop o applicazione web è venuta l'immagine? –

+1

Poiché 'a [1] === a [1] [1] === a [1] [1] [1]' è effettivamente falso, potrebbe essere più sensato mostrarlo su due righe: 'a [ 1] === a [1] [1] // true' e 'a [1] === a [1] [1] [1] // true' – Paulpro

+1

@AndersonGreen Sembra uno screenshot della console di Chrome . – Paulpro

9

Sì, certo:

var x = []; 
x.push(x); 
console.log(x[0] === x); // true 
Problemi correlati