Heim  >  Artikel  >  Web-Frontend  >  Ausführliche Erläuterung der Duplikatprüfung von Javascript-Funktionen zur Reduzierung

Ausführliche Erläuterung der Duplikatprüfung von Javascript-Funktionen zur Reduzierung

黄舟
黄舟Original
2017-03-23 14:23:142085Durchsuche

Die Reduzierfunktion ist eine Array-Methode, die in der ECMAScript5-Spezifikation vorkommt. Lassen Sie mich diesen Artikel mit Ihnen teilen. JavascriptDie klassische Interviewroutine zur Reduzierung der Funktionsprüfung auf Duplikate. Freunde, die sie benötigen, können darauf zurückgreifen

Heute bin ich zufällig auf einen Code gestoßen, der eine sehr kurze Länge verwendet, um die klassische Interviewfrage zum Zählen der Anzahl identischer Zeichen in einer Zeichenfolge zu vervollständigen online und habe nichts Wertvolles gefunden, was zu Verschwendung geführt hat. Jetzt ordne ich meine Ideen wie folgt:

Originalcode:

var arr="qweqrq"
var info= arr.split('').reduce((a,b)=>
 (a[b]++ || (a[b]=1),a)
,{})
console.log(info)

Die Codeidee ist wie folgt . Schneiden Sie zuerst die Zeichenfolge arr in ein Array und verwenden Sie dann Reduce. Was macht diese Methode? Sie ist in folgende Schritte unterteilt:

1 . Wenn es einen zweiten Parameter wie oben gibt: {}. , dann verwendet der Rückruf dieses {} als Parameter, um es zusammen mit dem ersten Element im Array an den Rückruf zu übergeben.

2 Nach der Übergabe der Parameter erfolgt eine UND-Gatter-Kurzschlussoperation Wird ausgeführt und kann auch als Standardwertoperation bezeichnet werden. Wenn a[b]++ wahr wird, wird a[b] zurückgegeben. Hier ist a {} und b ist „q“. Wenn a[b]=1 ausgeführt wird, wird a[b] der Wert 1 zugewiesen, gefolgt von einem Komma--Ausdruck Formel , sodass ein Objekt mit a[b]:1 zurückgegeben wird, so dass Attribut

UND Gate-Kurzschlussoperation: wenn das erste Operation Wenn der Wert der Zahl wahr ist, wird eine Kurzschlussoperation durchgeführt und der Wert des ersten Operanden direkt generiert. Bei „false“ wird der Wert des zweiten Operanden zurückgegeben.

Komma-Ausdruck: Die allgemeine Form des Komma-Ausdrucks ist: Ausdruck 1, Ausdruck 2, Ausdruck 3 ... Ausdruck n. Der Lösungsprozess des Komma-Ausdrucks ist: Berechnen Sie zuerst den Wert von Ausdruck 1, dann berechnen Sie den Wert von Ausdruck 2, ..., bis der Wert von Ausdruck n berechnet ist. Schließlich ist der Wert des gesamten Komma-Ausdrucks der Wert des Ausdrucks n.

3. Lassen Sie uns später über die Reduzierungsfunktion sprechen. Sie kann das nach der vorherigen Ausführung zurückgegebene Ergebnis als Parameter verwenden und es zusammen mit den nachfolgenden Elementen zur Ausführung weitergeben, was fn entspricht (fn(fn(a, b), c), d), e), fn ist der Rückruf;

4 In diesem Beispiel ist der Rückruf, da der zweite Parameter {} übergeben wird wird 6 mal ausgeführt. Dies entspricht der Eingabe und Überprüfung von Duplikaten für jedes Element im Array. Wenn der Rückruf beispielsweise zum vierten Mal ausgeführt wird, ist a {q:1,w:1,e:1} und der Rückruf wird ausgeführt. a[b] Das heißt, a['q'] existiert, wenn a['q']++ ausgeführt wird, ist der Wert von a['q'] 2 und so weiter mit jedem Element des Arrays, das erscheint. Ein Objekt, dessen Zeiten Attributwerte sind.

Es ist zu beachten, dass Reduce eine in es5 eingeführte Methode ist und nicht mit ie8 und niedriger kompatibel ist.

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Duplikatprüfung von Javascript-Funktionen zur Reduzierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn