2016-10-04 1 views
0

Ich suche Element in Array mit array.find() wie folgt:Wie man eine Methode aufruft, wenn array.find() nichts zurückgibt?

this.selectedLib = libraries.find(lib => lib.name === 'Standard'); 

Diese Methode überprüft nun, wenn eine Bibliothek einen Namen ‚Standard‘ hat oder nicht, es selectedLib als Standard-Sets, wenn es hat 'Standard'.

Wenn jedoch keine Bibliothek mit dem Namen Standard vorhanden ist, möchte ich die Bibliothek an der Indexposition 0 als LIB festlegen.

so etwas wie dieses ..:

lib.name=='Standard' ? lib : libraries[0] 

Gibt es eine Möglichkeit, es zu tun?

+2

'this.selectedLib = libraries.find (lib => lib.name === 'Standard') || Bibliotheken [0]; '? –

+0

@MatteoTassinari hat dies versucht, funktioniert nicht –

+0

@MatteoTassinari Entschuldigung, ich habe überprüft, dass ... es jetzt funktioniert –

Antwort

1

Die find() Methode liefert einen Wert in dem Array, wenn ein Element in dem Array erfüllt die Testfunktion vorgesehen. Ansonsten undefined ist

zurück

.

var libraries = [{ 
 
    name: "Not Standard", 
 
    id: 1 
 
}, { 
 
    name: "Not Standard", 
 
    id: 2 
 
}] 
 
var selectedLib = libraries.find(lib => lib.name === 'Standard') || libraries[0]; 
 
console.log(selectedLib);

Verwandte Themen