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'
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
Lass es mich wissen, wenn du irgendeine Frage hast .. gib einfach die Zeile, und ich werde erklären
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%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.
Ich schlage Ihnen eine Lösung in reinem JS vor, ohne zu reagieren
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.
Tags und Links javascript arrays reactjs redux for-loop