Mmm...
A me sembra un po' un'assurdità a livello di concetto.
Mi spiego:

1- il metodo, se è della classe Array funziona solo se l'oggetto di cui vuoi conoscere il padre è esso stesso un array.
Se dentro c'hai un'altra cosa, il padre è sconosciuto e il tuo metodo non funge.

2- JavaScript è come Java: non puoi manipolare oggetti in modo diretto, ma solo puntatori agli stessi. Di conseguenza un oggetto in memoria può avere infiniti puntatori.
Bene. Ora ipotizziamo che abbiamo 2 puntatori alla stessa istanza di Array. Se uno e dentro una matrice e un'altro è fuori?!? L'oggetto a cui i due puntatori si riferiscono fa parte o no della matrice?
Tu parti dal presupposto fuorviante che un oggetto è contenuto in un array, quando in realtà un array è una banale lista di puntatori. Per continuare con il nostro assurdo, io posso anche avere un array che colleziona 1000 puntatori diversi allo stesso array "figlio". Quale comportamento dovrà avere il tuo metodo?
L'array vero e proprio non è figlio di nessuno, né può esserlo. Almeno a livello concettuale.

Esempio pratico:
codice:
var ar = new Array();
ar.push(new Array());
// ar[0] ora punta ad un'istanza di Array

var pippo = ar[0];
// ora pippo e ar[0] sono due puntatori distinti che
// si riferiscono alla stessa identica locazione di
// memoria: se ar[0].tuoMetodo() ritornasse 0, anche
// pippo.tuoMetodo() ritornerebbe 0 (sbagliando)