Ich folge diesem Tutorial um "zu erkennen" wenn Eine eindeutige Nummer befindet sich in einem Array-Objekt. Diese Nummer ist eine Zeichenkette.
Ich bin in Ruby on Rails an detect
gewöhnt, also suche ich nach dem Äquivalent in React (JavaScript):
ES6:
%Vor% In Wirklichkeit sieht das so aus: this.renderCreditNote(this.state.num).bind(this)
Wenn also num
im Array ist, zeige nur dieses Array an. Mache ich das richtig? Der Fehler ist:
Uncaught TypeError: Die rechte Seite von 'instanceof' ist nicht aufrufbar
Ich kenne Ruby nicht, aber basierend auf der Beschreibung von detect
scheint es, dass Sie nach array.find in JavaScript. .find
iteriert über ein Array - wenn es das Objekt findet, nach dem Sie suchen, gibt es es zurück und hört auf zu iterieren, wenn es nichts findet undefined
wird zurückgegeben.
Also zum Beispiel:
%Vor%Hier ist eine Geige: Ссылка
Einige ES6-Verschönerung:
%Vor%Beachten Sie, dass dies in etwas älteren Browsern nicht vollständig unterstützt wird, ich weiß aus Erfahrung, IE11 hat es nicht. Aber es ist definitiv die Polyfill wert.
Über den Blog, den Sie verlinkt haben - ohne in die prototypische Vererbung zu gehen, gibt instanceof
im Grunde wahr / falsch zurück, wenn die Eingabe der Datenstruktur entspricht. In dem Blog, den Sie verlinkt haben, erkennen sie, ob die Eingabe ein Objekt oder ein Array ist - aber nur, damit sie abhängig von dieser Eingabe verschiedene Aktionen ausführen können. Wenn es sich um ein Objekt handelt, geben sie einfach das Feld für dieses Objekt zurück, wenn es ein Array ist, durchlaufen sie das Array mit .map
und geben alle Namen dieser Objekte in diesem Array zurück.
Bearbeiten, um die Rendermethode zu überprüfen:
%Vor%Tags und Links javascript arrays reactjs