Wie fügt man ein neues Element zwischen alle Elemente eines JS-Arrays ein?

10

Ich habe ein Array [a, b, c] . Ich möchte einen Wert zwischen den einzelnen Elementen dieses Arrays einfügen können: [0, a, 0, b, 0, c, 0] .

Ich denke, es wäre so etwas, aber ich kann es nicht funktionieren lassen.

%Vor%

Danke, dass Sie mir geholfen haben!

    
Philippe 02.10.2017, 15:25
quelle

10 Antworten

6

Um ein neues Array zu erhalten, können Sie den Teil contra und ein Element null für jedes Element hinzufügen.

%Vor%

Verwenden des gleichen Arrays

%Vor%

Ein bisschen kürzer mit Iteration vom Ende.

%Vor%
    
Nina Scholz 02.10.2017, 15:28
quelle
3

Ein anderer Weg:

%Vor%
    
Pako Navarro 02.10.2017 15:41
quelle
2

Sie könnten .reduce() :

verwenden

%Vor%

Oder erreichen Sie dies, indem Sie das ursprüngliche Array ändern:

%Vor%
    
JLRishe 02.10.2017 15:29
quelle
1

Sie können map() mit ES6 Spreadsyntax und concat()

verwenden

%Vor%
    
Nenad Vracar 02.10.2017 15:33
quelle
0

Sie könnten

tun

%Vor%
    
marvel308 02.10.2017 15:28
quelle
0

Sie müssen nur die Array-Elemente durchlaufen und das neue Element in jeder Iteration hinzufügen. Wenn Sie die letzte Iteration erreichen, fügen Sie das neue Element nach dem letzten Element hinzu.

So sollte dein Code sein:

%Vor%

Demo:

Dies ist ein Demo-Snippet:

%Vor%
    
chŝdk 02.10.2017 15:30
quelle
0

%Vor%
    
ibrahim mahrir 02.10.2017 15:30
quelle
0

Es könnte mit Strings durch Spalten und Verbinden gemacht werden.

%Vor%
    
Cody Fortenberry 02.10.2017 15:46
quelle
0

Sieht aus wie der Intersperse-Algorithmus , fügt aber auch Kopf und Schwanz hinzu. Also nenne ich es extrasperse .

%Vor%
    
Redu 02.10.2017 19:34
quelle
0

Eine andere Möglichkeit, wenn Sie den Anfang und das Ende eines Arrays ausschließen möchten, ist:

%Vor%
    
Vincent Menant 13.02.2018 15:58
quelle

Tags und Links