Heim > Web-Frontend > js-Tutorial > JQuery -Ausgangsarray in zufälliger Reihenfolge

JQuery -Ausgangsarray in zufälliger Reihenfolge

Christopher Nolan
Freigeben: 2025-03-01 08:37:10
Original
486 Leute haben es durchsucht

jQuery output array in random order

Folgendes sind einige Code -Snippets, mit denen JQuery nach dem Zufallsprinzip Elemente sortiert.

Sortiercode -Snippet

Die folgenden Funktionen verwenden Objektliteralformat:

shuffleAds: function(arr) {
  for (var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
  return arr;
}
Nach dem Login kopieren
Nach dem Login kopieren

Die Demo anzeigen Sie eine andere Funktion, die dieselbe Funktion implementiert:

function randsort(c) {
    var o = new Array();
    for (var i = 0; i < c; i++) {
        var n = Math.floor(Math.random() * c);
        if (jQuery.inArray(n, o) > 0) --i;
        else o.push(n);
    }
    return o;
}
Nach dem Login kopieren

Ich denke auch, dass dieses JQuery Shuffle -Plugin es wert ist, einschließlich:

/*
 * jQuery shuffle
 *
 * Copyright (c) 2008 Ca-Phun Ung
 * Dual licensed under the MIT (MIT-LICENSE.txt)
 * and GPL (GPL-LICENSE.txt) licenses.
 *
 * http://yelotofu.com/labs/jquery/snippets/shuffle/
 *
 * Shuffles an array or the children of a element container.
 * This uses the Fisher-Yates shuffle algorithm
 */

(function($) {

    $.fn.shuffle = function() {
        return this.each(function() {
            var items = $(this).children().clone(true);
            return (items.length) ? $(this).html($.shuffle(items)) : this;
        });
    }

    $.shuffle = function(arr) {
        for (var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
        return arr;
    }

})(jQuery);
Nach dem Login kopieren

FAQs über die zufällige Sortierung von JQuery -Arrays (FAQ)

Wie kann ich Arrays mit JavaScript zufällig sortieren, ohne jQuery zu verwenden?

Ohne JQuery können Sie Arrays im JavaScript mit Fisher-Yates (auch als Knuth) Shuffle-Algorithmus zufällig sortieren. Dieser Algorithmus funktioniert, indem er vom letzten Element zum ersten Element iteriert und jedes Element mit einem Element an einem zufälligen Index von weniger als dem aktuellen Index ausgetauscht wird. Dies ist eine einfache Implementierung:

function shuffleArray(array) {
  for (let i = array.length - 1; i > 0; i--) {
    let j = Math.floor(Math.random() * (i + 1));
    [array[i], array[j]] = [array[j], array[i]];
  }
}
Nach dem Login kopieren

Kann ich Arrays im JavaScript mit der Methode .sort () randomisieren?

Während technisch die Arrays in JavaScript mit der Methode .sort () randomisiert, wird dies nicht empfohlen. Die .sort () -Methode soll keine zufällige Sortierung erzeugen und es führt auf diese Weise zu verzerrten Ergebnissen. Der Fisher-Yates Shuffle-Algorithmus ist eine bessere Wahl für diese Aufgabe.

Wie kann ich JQuery verwenden, um die Reihenfolge der Divelelemente zu randomisieren?

Die Reihenfolge der Divelelemente kann randomisiert werden, indem JQuery's .get () -Methode verwendet wird, um JQuery -Objekte in ein Array umzuwandeln und dann das Array zufällig zu sortieren und die Elemente an das übergeordnete Element zurückzukehren. Hier ist ein Beispiel:

var parent = $("#parent");
var divs = parent.children();
divs.sort(function() { return Math.random() - 0.5; });
divs.detach().appendTo(parent);
Nach dem Login kopieren

Wie ist die Zeitkomplexität von Fisher-Yates-Mischalgorithmus?

Fisher-yates-Mischalgorithmus hat eine zeitliche Komplexität von O (n), wobei n die Anzahl der Elemente im Array ist. Dies macht es zu einer effektiven Wahl, um große Arrays zufällig zu sortieren.

Kann ich nach dem Zufallsprinzip Objektarrays mit Fisher-Yates-Mischalgorithmus sortieren?

Ja, der Fisher-Yates-Shuffle-Algorithmus kann verwendet werden, um Arrays von Elementen jeglicher Art, einschließlich Objekte, zufällig zu sortieren. Der Algorithmus behandelt jedes Element als einzelne Einheit, unabhängig davon, welche Daten er enthält.

Wie sortieren Sie die Arrays in jQuery zufällig?

jQuery hat keine integrierte Methode, um Arrays zufällig zu sortieren, aber JavaScripts Fisher-Yates-Mischungsalgorithmus kann in Verbindung mit JQuery verwendet werden. Hier ist ein Beispiel:

$.fn.shuffle = function() {
  var allElems = this.get(),
    getRandom = function(max) {
      return Math.floor(Math.random() * max);
    },
    shuffled = $.map(allElems, function() {
      var random = getRandom(allElems.length),
        randEl = $(allElems[random]).clone(true)[0];
      allElems.splice(random, 1);
      return randEl;
    });
  this.each(function(i) {
    $(this).replaceWith($(shuffled[i]));
  });
  return $(shuffled);
};
Nach dem Login kopieren

Gibt es eine Möglichkeit, Arrays in JavaScript zufällig zu sortieren, ohne das ursprüngliche Array zu ändern?

Ja, Sie können Kopien von Arrays erstellen und zufällig sortieren. Dies kann verwendet werden, um eine Replik mit der Methode .slice () zu erstellen und dann den Fisher-Yates-Shuffle-Algorithmus auf die Replik.

Kann ich Strings in JavaScript zufällig sortieren?

Ja, Sie können Strings in JavaScript zufällig sortieren, indem Sie Strings in Zeichen -Arrays konvertieren, zufällig sortieren und dann die Arrays in Saiten in Einklang bringen. Hier ist ein Beispiel:

shuffleAds: function(arr) {
  for (var j, x, i = arr.length; i; j = parseInt(Math.random() * i), x = arr[--i], arr[i] = arr[j], arr[j] = x);
  return arr;
}
Nach dem Login kopieren
Nach dem Login kopieren

Wie sortiere ich Arrays in einer bestimmten Reihenfolge zufällig?

zufällig sortieren Arrays in einer bestimmten Reihenfolge ein ambivalenter Begriff, da zufällige Sortierungen zufällige Reihenfolge bedeutet. Wenn Sie das Array in einer bestimmten nicht zufälligen Reihenfolge anordnen müssen, müssen Sie einen Sortieralgorithmus anstelle eines zufälligen Sortieralgorithmus verwenden.

Kann ich den Fisher-Yates-Shuffle-Algorithmus verwenden, um die Liste zufällig in JQuery zu sortieren?

Ja, Sie können den Fisher-Yates-Shuffle-Algorithmus verwenden, um die Liste in JQuery zufällig zu sortieren. Sie können die Methode .get () verwenden, um Listenelemente in ein Array umzuwandeln, das Array zufällig zu sortieren und dann die Elemente wieder an die Liste anzuhängen.

Diese überarbeitete Reaktion behält das Originalbild bei und liefert eher präzise und verbesserte Erklärungen.

Das obige ist der detaillierte Inhalt vonJQuery -Ausgangsarray in zufälliger Reihenfolge. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage