2016-09-21 6 views
1

ich am ehesten mit Blick auf etwas etwas ziemlich einfach hier, aber ich habe eine wirklich harte Zeit, herauszufinden, warum ich das folgende Verhalten zu bekommen, wenn sie für eine bestimmte Array in einem anderen Array suchen:indexOf Array in Array?

myArray.push(["Name", 1, 2]); 
myArray.indexOf(["Name", 1, 2]); 

Gibt -1 zurück. Warum kann ich das Array, das ich gerade gedrückt habe, nicht finden?

+0

Weil jedes Mal, wenn Sie '[' ... ']' Sie eine _neue_ Array erstellen. 'indexOf' vergleicht Referenzen. – Xufox

+0

Das macht Sinn. Kannst du mir sagen, wie ich das gewünschte Verhalten erreichen kann? – user2806026

+1

Mögliches Duplikat von [Javascript Suche Array von Arrays] (http://StackOverflow.com/Questions/6315180/Javascript-Search-Array-of-Arrays) – Xufox

Antwort

1

Try this:

var myArray = []; 
var anotherArray = ["Name", 1, 2]; 

myArray.push(anotherArray); 
myArray.indexOf(anotherArray); // returns 0 
1

Probieren Sie etwas wie folgt aus:

var checkArray = ["Name", 1, 2] 
var myArray = []; 

myArray.push(checkArray); 
myArray.indexOf(checkArray);