Gibt es eine einfache Möglichkeit, verschachtelte Arrays flach zu machen?

8

Das soll man machen:

[ ['dog','cat', ['chicken', 'bear'] ],['mouse','horse'] ]

in:

['dog','cat','chicken','bear','mouse','horse']

    
rsk82 17.05.2011, 15:04
quelle

11 Antworten

20
%Vor%

Es ist bemerkenswert, dass die Reduzierung in IE 8 und niedriger nicht unterstützt wird.

developer.mozilla.org Referenz

    
ChewOnThis_Trident 10.06.2013, 19:52
quelle
20

In modernen Browsern können Sie dies ohne externe Bibliotheken in wenigen Zeilen tun:

%Vor%     
elclanrs 11.06.2013 05:56
quelle
9

Nutzen Sie underscore.js und verwenden Sie die flattern Funktion.

%Vor%     
Craig M 17.05.2011 15:11
quelle
5

Was ist mit diesem einen Liniencode?

%Vor%

im Grunde Join wird Komma getrennte Zeichenfolge von verschachtelten Array und mit Split können Sie 1d Array, nett zu bekommen? bonus funktioniert auch auf allen gängigen Browsern :)

so wird ausgegeben: -

%Vor%     
vipin goyal 04.09.2016 09:10
quelle
4

Wenn Sie ein Array verwenden, das bereits aus JSON entpackt wurde, versuchen Sie Folgendes:

%Vor%

Er scheint bei Ihrer Eingabe korrekt zu funktionieren - siehe Ссылка

    
Alnitak 17.05.2011 15:16
quelle
4

Kleine Lösung für ChewOnThis_Trident Lösung und es funktioniert perfekt:

%Vor%     
Andrzej Sawoniewicz 24.06.2014 21:59
quelle
1

Ich weiß, dass es zu spät ist, aber ich bin auch in eine Situation geraten, in der ich ein mehrdimensionales Array zu einem Array machen musste und ich habe eine Funktion wie folgt gemacht.

%Vor%

Dies nimmt auch die verschachtelten Arrays innerhalb des getesteten Arrays und stellt sicher, dass das eine Array als der letzte output

ist     
TrojanMorse 30.04.2015 18:27
quelle
1

Diese Lösung hat für mich gut funktioniert, und ich finde es besonders einfach zu folgen:

%Vor%     
Yup. 14.09.2016 01:14
quelle
1

Deshalb liebe ich Javascript:

%Vor%     
saaaaaaaaasha 11.05.2017 09:59
quelle
0

Ein Ansatz, den Sie verwenden könnten, wäre die Verwendung der JSON2-Bibliothek:

  1. JSON.stringify das Array
  2. Entferne alle außer den ersten und letzten [ und ] (oder ziehe alle aus und füge die Anfangs- und Endnamen wieder hinzu).
  3. JSON.parse es zurück zu einem JavaScript-Array

Ich gehe davon aus, dass Sie mit einem JavaScript-Array beginnen. Wenn es eine Zeichenfolge ist, sind die Schritte 1 und 3 irrelevant.

    
James Wiseman 17.05.2011 15:08
quelle
0

Sie können auch diese array-flatMap Open-Source-Komponente verwenden.

Beispiel:

%Vor%

Einer der Tests zeigt dieses für diesen Fall relevante Beispiel:

%Vor%     
Yoni 23.05.2017 09:39
quelle

Tags und Links