2016-03-23 27 views
0

Also ich versuche zu sehen, ob es ein Bild in "Bilder" ist Die Bilder werden als ein Objekt mit dem Namen einer ganzen Zahl innerhalb eines Arrays gespeichert . Ich kann nicht in das Array kommen und sehen, ob 0 (das erste Bild) drin ist, ohne einen Fehler zu bekommen. Ich habe bereits Bracket-Notation mit und ohne Anführungszeichen probiert. Ich muss nur sehen, ob das Bild existiert. Wenn dies nicht der Fall wäre, gäbe es keine Ganzzahl namens Objekte. Danke. Jede Hilfe wäre willkommen.Suchen Wert eines Objekts mit einem Integer-Namen in einem Array begraben (js)

$scope.images= []; 
var syncArray = $firebaseArray(spotReference.child("images")); 
$scope.images = syncArray; 
console.log(syncArray); //returns array (image attached of console) 

var imgThr = syncArray.indexOf(0,0); 
     console.log(imgThr); // broken, tried with/without quotes 

enter image description here

+0

[ 'indexOf'] (https: //developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/indexOf) verwendet keinen Index beim ersten Parameter, sondern ein Objekt, nach dem Sie suchen – Hacketo

+2

'var imgThr = syncArray [ 0]? syncArray [0] .image: ''; ' – MysterX

+0

@MysterX, es sieht nur so aus, dass console.logs innerhalb des Anführungsstrichs liegen, unabhängig von den Objekten innerhalb des Arrays. – bigD

Antwort

0

aus Ihrer Frage, wenn kein Bild vorhanden ist, dann wird es nicht in diesem Array-Objekte sein. Dann können wir length-Eigenschaft des Arrays überprüfen:

if(syncArray.length > 0) { 

}

Oder wenn Sie die Bildeigenschaft zugreifen möchten, dann müssen Sie verwenden:

if(syncArray[0].image) { 
} 
+0

das funktioniert nicht. Ich will nur console.log, wenn es keine Bilder gibt. Kein Glück mit diesem – bigD

+0

Was wird die Struktur von Array sein, wenn es kein Bild gibt? Wird es leer sein enthält das Objekt mit Null-Eigenschaften? – Hari

+0

Es enthält andere Objekte, aber nur Bilder werden mit einer Nummer benannt – bigD

Verwandte Themen