Ich habe das Array mit Symbolen AE Ich brauche jedes Symbol in ng-repeat auszugeben, aber Array in zufälliger Reihenfolge und jedes Symbol soll n mal angezeigt werden soll (beispielsweise 4-fach)Angular: Wie erhalten Sie jedes Symbol aus dem Array n-mal in zufälliger Reihenfolge?
0
A
Antwort
1
Sie können die Array.prototype.sort() Methode zu shuffle Ihr Array verwenden.
Ich habe eine Funktion, die Ihnen die anfängliche Array als Parameter übergeben können und die Zeiten, dass Sie es sortieren wollen, wie unten:
(function() {
"use strict";
angular.module('app', [])
.controller('mainCtrl', function($scope) {
function randomize(array, times) {
var temp = [];
for (var i = 0; i < times; i++) {
array.sort(function() {
return .5 - Math.random();
});
temp = temp.concat(array);
}
return temp;
}
$scope.symbols = randomize(['a', 'b', 'c', 'd', 'e'], 4);
});
})();
<!DOCTYPE html>
<html ng-app="app">
<head>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.5.7/angular.min.js"></script>
</head>
<body ng-controller="mainCtrl">
Words:
<div ng-repeat="symbol in symbols track by $index" ng-bind="symbol">
</div>
</body>
</html>
0
Wahrscheinlich ll Notwendigkeit zwei Funktionen, eine zum Mischen der Symbole und andere, um ein Array 'N' mal mit Mischen zu setzen.
es ein:
var num = 5; // 'N' time shuffling.
function setArray() {
for(var i = 0; i < num; i++) {
$scope.symbols = $scope.symbols.concat(shuffle());
}
}
setArray();
hier shuffle()
eine andere Funktion ist eine zufällige Reihenfolge der Symbole auszuwählen.
Siehe DEMO hier.
0
OK, da die anderen Vorschläge nur so kompliziert waren, werde ich aus meinem Kommentar ausbauen.
var result = [];
for (var i=0; i<4; i++) {
for (var j=0; j<yourArray.length; j++) {
var newIndex = Math.floor(Math.random() * result.length);
result[newIndex] = yourArray[i];
}
}
Sie könnten wahrscheinlich sogar einen Filter daraus machen.
Verwandte Themen
- 1. Wie _prevent_ divs in zufälliger Reihenfolge erscheinen
- 2. wie das Array Werte in zufälliger Weise
- 3. Unable Aktivität in zufälliger Reihenfolge
- 4. Rails: jeweils in zufälliger Reihenfolge
- 5. animieren Elemente in zufälliger Reihenfolge
- 6. Kann NUnit Tests in zufälliger Reihenfolge ausführen?
- 7. Wie wählen Sie Spalten aus Tabelle in zufälliger Reihenfolge in TSQL
- 8. Wie führen Sie Komponententests in zufälliger Reihenfolge in Visual Studio 2008 aus?
- 9. Wie man Wert aus der Datenbank in zufälliger Reihenfolge mit MySQL und PHP
- 10. jedes Symbol in Zeichenfolge ändern
- 11. Django-Code zu erhalten IDs von queryset, Shuffle-IDs und Abfrage-Datenbank in zufälliger Reihenfolge
- 12. Algolia instantsearch.js: Wie werden die Ergebnisse in zufälliger Reihenfolge angezeigt?
- 13. jedes zweite Element aus dem Array auswählen lambda Verwendung
- 14. Schleife durch alle Elemente in zufälliger Reihenfolge einmal
- 15. Anzeige galleria Liste der Bilder in zufälliger Reihenfolge
- 16. Angular 2: ngFor in absteigender Reihenfolge
- 17. Wie umgehen Sie SecurityTrustResourceUrl für jedes Element in einem Array?
- 18. Array speichert zufällige Reihenfolge jedes Mal durch Schleife
- 19. Undefined auf Array-Offset - erhalten sie Schlüssel jedes Arrays
- 20. Zufälliger Satz von Spalten aus einer Datenbank
- 21. Erste aws Cloudwatch-Datenpunkte in zufälliger zeitlicher Reihenfolge
- 22. Verwenden einer Schleife zum Anzeigen von Bildern in zufälliger Reihenfolge
- 23. Zurückgeben einer gemischten Array nach dem Senden, aber in der gleichen Reihenfolge jedes Mal
- 24. Wie erzwinge ich angular Filter, um die Reihenfolge nach dem Hinzufügen zu Array aktualisieren?
- 25. So erhalten Sie Filialwert Filialdokumente aus Array
- 26. Erhalten Sie Datenanmerkungsattribute aus dem Modell
- 27. Eliminieren der ersten 14 für jedes Symbol aus der Abfrage
- 28. Erhalten Sie zufällige Werte aus einem Array
- 29. Erhalten Sie eine Nummer aus dem Versprechen
- 30. Zufälliger Text Von jQuery Array
Bitte geben Sie einige Code zu zeigen, was Sie‘ Ich habe es bisher versucht. – lintmouse
$ scope.symbols = [a, b, c, d, e]; Ich muss dieses Array zum Beispiel so ausgeben [a, b, c, d, b, e, c, d, e, a, a, b, c, d, b, e, c, d, e, a] Jedes Symbol muss 4 Mal angezeigt werden und alle Symbole müssen zufällig angezeigt werden. – MikeDiam
Wählen Sie nach dem Zufallsprinzip den nächsten Index, um ihn zu spleißen. –