Werfen Sie vor der Einführung eine Frage: Wie kombinieren Sie mehrere Arrays in einem Array?
Die folgenden Freigabeinheiten sind in die folgenden Unterabschnitte unterteilt:
1. grundlegende Einführung in die Concat -Methode
2. Fühlen Sie die Konzernmethode aus dem Beispiel
1. grundlegende Einführung in die Concat -Methode
Die CONCAT -Methode wird zum Zusammenführen mehrerer Arrays verwendet. Es fügt das Mitglied des neuen Arrays zum Ende des ursprünglichen Arrays hinzu und gibt dann ein neues Array zurück, das ursprüngliche Array bleibt unverändert.
console.log ([]. concat ([1], [2], [3]); // [1, 2, 3] console.log ([] concat ([1], [2], [3]]); // [1], [2], [3]] console.log ([] concat (4, [5,6], [7]]); // [4, [5, 6], [7]]
Im obigen Code besteht der erste Rückgabewert darin, ein leeres Array mit drei Arrays [1], [2], [3] in ein Array zusammenzufassen und damit [1, 2, 3] zurückzugeben. Die zweite besteht darin, ein leeres Array mit einer zweidimensionalen Zahl zu kombinieren. Die Mitglieder des zweidimensionalen Arrays sind [1], [2], [3], also [[1], [2], [3]] zurückgegeben. Beachten Sie, dass das zurückgegebene zweidimensionale Array. Das dritte Beispiel ist das gleiche. Das Verständnis von Konzepten ist hier sehr wichtig, das neue Array in den Schwanz des ursprünglichen Arrays hinzuzufügen.
Neben der Annahme von Arrays als Parameter kann CONCAT auch andere Wertearten als Parameter akzeptieren. Sie werden als neue Elemente verwendet und fügen das Ende des Arrays hinzu.
console.log ([]. concat (1,2,3)); // [1,2,3]; // gleichwertig zu Console.log ([] concat (1, [2,3])); // [1,2,3]; console.log ([]. concat ([1], [2,3]); // [1,2,3];
Obwohl es hier weniger Inhalte gibt, sieht es ganz einfach aus. Aber es ist wirklich nicht leicht zu verstehen.
2. Fühlen Sie die Konzernmethode aus dem Beispiel
Nachdem ich über das Grundwissen gesprochen habe, lassen Sie mich Ihnen eine Frage zeigen, die mir kürzlich gestoßen ist. Der Originaltitel ist so.
Sie können sehen, was es bedeutet, wenn Sie sich die Beispiele ansehen.
Eine der Lösungen für diese Frage ist:
var fausch = function (arr) {return [] .concat.Apply ([], arr);};Diese einfache Funktion kann die Funktion des Zusammenführens von Elementen in einem Array erkennen. Aber wenn ich diesen Rückgabewert verstehe, entsteht ein Problem.
Frage: Warum gibt es einen Unterschied zwischen der Verwendung der Anwendung Methode und nicht der Verwendung der Anwendenmethode?
console.log ([]. concat.apply ([], [1], [2], [3]])); // [1, 2, 3] console.log ([] concat ([1], [2], [3]]); // [[1], [2], [3]]
Im obigen Code wird auch ein Neuarray in einem leeren Array zum Schwanz hinzugefügt, und der erste kehrt zurück [1,2,3]. Der zweite ist ein zweidimensionales Array.
Nach einer Zeit des Werfens und Jagdes verstand ich schließlich die verschiedenen Gründe.
Wenn wir die Instanzmethode in einem leeren Array aufrufen, übergeben wir die Parameter in conat und schieben wir bis zum Ende des Arrays. Das heißt, das leere Array wird mit dem äußersten Array des übergebenen Arrays zusammengeführt, und dann wird ein Neues Array zurückgegeben.
console.log ([]. concat (1,2,3)); // [1, 2, 3] console.log ([]. Concat ([1], [2], [3])); // [1, 2, 3] console.log ([] concat ([1], [2], [3]]); // [1], [2], [3]] console.log ([] concat ([1], [2], [3]]); // [1], [2], [3]]]
Im obigen Code wechselt es allmählich von mehreren Arrays zu eindimensionalen Arrays, zweidimensionalen Arrays und dreidimensionalen Arrays.
In dem detaillierten Erläuterungs- und Zusammenfassungsartikel der Anlauf-, Anwendung und Binden von Methoden in JavaScript wird erwähnt, dass die Funktion der Anwendungsmethode der Aufrufmethode ähnlich ist und diesen Punkt auch ändert (der Bereich, in dem die Funktion ausgeführt wird), und dann die Funktion im angegebenen Bereich aufruft. Die Funktion wird auch sofort ausgeführt. Der einzige Unterschied besteht darin, dass es ein Array als Argument empfängt, wenn die Funktion ausgeführt wird.
Der erste Parameter der Anwendungsmethode ist auch das Objekt, auf das dies hinweisen möchte. Wenn auf null oder undefiniert oder dieses festgelegt wird, ist es gleichwertig, ein globales Objekt anzugeben. Der zweite Parameter ist ein Array, und alle Mitglieder des Arrays werden wiederum als Parameter verwendet, und die ursprüngliche Funktion wird bei Aufruf übergeben. Die Parameter der ursprünglichen Funktion müssen einzeln in der Aufrufmethode hinzugefügt werden, aber in der Anwendenmethode müssen sie als Array hinzugefügt werden.
console.log ([]. concat.apply ([], [1], [2], [3]])); // [1, 2, 3] console.log ([] concat ([1], [2], [3]]); // [[1], [2], [3]]
Wie aus dem Code ersichtlich ist, ruft das erste Code -Stück zuerst die CONCAT -Methode auf dem leeren Array auf. Die Funktion dieser Methode besteht darin, Mitglieder des Neuarrays zum Ende des ursprünglichen Arrays hinzuzufügen. Die Anwendungsmethode wird erneut aufgerufen und der erste Parameter wird übergeben, wobei der Umfang des zu verwendenden Objekts angegeben wird. Die Funktion des zweiten Parameters besteht darin, alle Mitglieder des Arrays gleichzeitig als Parameter zu übergeben und sie bei der Aufforderung an das Array zu übergeben.
Daher werden die Funktionen der beiden Methoden überlagert, was gleichzeitig überlagert werden, wenn die Verfahren und Anwendung gleichzeitig verwendet werden, was ein anderes Phänomen ist als die Verwendung von Concat allein. Lassen Sie uns ein Beispiel sehen.
console.log ([]. concat ([1,2,3]); // [1, 2, 3] console.log ([]. Concat.Apply ([], [1], [2], [3]]); // [1, 2, 3] console.log ([] concat ([1], [2], [3]]); // [1], [2, [3]] console.log ([] concat ([1], [2], [3]]); // [[1], [2], [3]] console.log ([] concat ([[1], [2], [3]]); // [[1], [2], [3]] console.log ([] concat ([[1], [2], [3]]); // [[1], [2], [3]] Konsole.log ([] concat.apply ([], [[[1], [2], [3]]])); // [[[1], [2], [3]]]]; // [1], [2], [3]]]]];
Im obigen Code kombiniert die CONCAT -Methode die meisten Zahlen und verschmilzt dann das nächste Schicht -Array auf der Grundlage der Zusammenführung.
console.log ([]. concat.apply ([], [1], [2], [3]]); // [1, 2, 3] // entspricht Konsole.log ([] concat (1,2,3)); // [1,2,3]
Zusammenfassen:
1. Bei der alleinigen Verwendung der Concat -Methode werden die Mitglieder des Neuarrays am Ende des ursprünglichen Arrays hinzugefügt.
2. Bei Verwendung der Anwendenmethode, um diesen Zeiger der Concat -Methode anzugeben, werden die Funktionen der beiden Methoden überlagert.
3.. Methoden zum Zusammenführen von Array -Elementen:
var fausch = function (arr) {return [] .concat.Apply ([], arr);}; var fausche = function (array) {return array.Reduce (Funktion (a, b) {return a.concat (b);}, [])}Das obige ist die Methode zum Zusammenführen von Arrays mithilfe der vom Editor vorgestellten Concat -Methode. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird Ihnen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!