Wie verschmelzen Arrays in Javascript anders?

8

Ich möchte Arrays ein wenig anders zusammenführen. Ich habe 2 oder mehr Arrays wie:

  

var array1 = ["Apfel", "Banane"];

     

var array2 = ["Apfel", "Apfel", "Orange"];

Ich möchte die Ausgabe:

  

var array3 = ["Apfel", "Apfel", "Banane", "Orange"];

Wenn also ein Array eine Variable mehr als einmal enthält, sollte der Merge-Algorithmus alle von diesem Array behalten.

Ich habe Code gesehen, der Duplikate verhindert, aber es gibt Ausgaben wie folgt:

  

var array3 = ["Apfel", "Banane", "Orange"];

für mehr Beispiel:

  

var arr1 = [1,2,3,4];

     

var arr2 = [1,1,2,4,5,5,5];

     

var arr3 = [1,3,3,5,5];

Ich möchte die Ausgabe:

  

var array4 = [1,1,2,3,3,4,5,5,5];

Wie kann ich das tun?

    
u.zzz 04.01.2015, 21:50
quelle

5 Antworten

2

Hier ist eine Möglichkeit, das Vorkommen jedes Elements in jedem Array zu zählen:

%Vor%

Arbeitsdemo: Ссылка

    
jfriend00 04.01.2015, 22:15
quelle
1

Hier ist eine Lösung mit ECMA5.

Javascript

%Vor%
    
Xotic750 05.01.2015 02:18
quelle
1

Ich benutze gerne ramda ( Ссылка ) für dieses Zeug

%Vor%

JSFiddle: Ссылка

    
jtmarmon 04.01.2015 22:29
quelle
1

Ramda ist dein Freund.

%Vor% %Vor%
    
David Braun 14.08.2016 06:49
quelle
-1

Nicht getestet und nicht JS, aber ich denke, das ist, was Sie suchen. Ich habe es gerade manuell getestet, es hat für Ihre Testfälle funktioniert.

%Vor%     
ctrl-alt-delor 04.01.2015 22:14
quelle