Array Methode zum Schleifen zu jedem Element

8

Ich schreibe eine Redux-Funktion, bei der ich, wenn ich auf eine Schaltfläche klicke, eine Zahl n zum vierten Element des Arrays hinzufügen muss. Wenn das Element L oder M ist, möchte ich nicht die Addition

Beispiel Ich habe dieses Array unten, und die hinzuzufügende Zahl, d. h. n ist '5'

%Vor%

Ich klicke einmal auf die Schaltfläche und das Array wird

%Vor%

Das vierte Element wird 331

Ich klicke zweimal auf die Schaltfläche und das Array wird

%Vor%

Das fünfte Element wird 92

Und so weiter, bis das Array fertig ist und ich wieder vom dritten Element aus starte

Dies ist meine erste Funktion, bei der ich alle Werte zugeordnet habe

%Vor%

Siehe hier in Aktion

aber jetzt brauche ich eine andere Array-Methode, um das zu erreichen, aber ich weiß nicht, welche und wie

    
Koala7 15.01.2017, 19:00
quelle

6 Antworten

1

%Vor% %Vor%

Lass es mich wissen, wenn du irgendeine Frage hast .. gib einfach die Zeile, und ich werde erklären

    
Abdennour TOUMI 15.01.2017, 19:56
quelle
1

Wenn Sie nicht mit react.js, sondern mit reinem JS arbeiten, können Sie Folgendes tun:

%Vor% %Vor%
    
Redu 23.01.2017 16:19
quelle
1

Ihr Problem ist, wenn ich es richtig verstehe, von einem bestehenden Array, erhalten Sie eine (nicht unbedingt neue), während Sie der Regel folgen:

%Vor%

Betrachten Sie die Implementierung:

%Vor%

Jedes Mal, wenn Ihr Handler ausgelöst wird, können Sie Ihr Array aktualisieren, mit Leerzeichen verbinden und Ihr SVG rendern (ich nehme an, das ist ein Pfad).

Etwas in dieser Richtung:

%Vor%

Wenn Sie React verwenden, möchten Sie möglicherweise einen erneuten Renderer auslösen. Ihre Komponente sieht etwa so aus:

%Vor%     
adz5A 24.01.2017 14:09
quelle
1

Sie können Array.prototype.reduce () verwenden ( Siehe )

Die Methode reduce () wendet eine Funktion gegen einen Akkumulator und jeden Wert des Arrays an (von links nach rechts), um sie auf einen einzelnen Wert zu reduzieren.

%Vor%

Reduzieren Sie also Ihre andere Methode, die Sie verwenden können.

    
Sagar Shetty 24.01.2017 16:28
quelle
0

Ich schlage Ihnen eine Lösung in reinem JS vor, ohne zu reagieren

%Vor%
    
kevin ternet 21.01.2017 19:10
quelle
0

Verwenden Sie dies:

%Vor%

Es gibt Ihnen das letzte Array, das Sie erhalten würden, nachdem Sie es vollständig von Index 3 (Element 4) nach 0 durchlaufen haben.

    
C L K Kissane 25.01.2017 03:30
quelle