以下は、jQueryを使用してアイテムをランダムにソートするコードスニペットです。
コードスニペットの並べ替え
次の関数は、オブジェクトリテラル形式を使用します:
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; }
デモを表示して、同じ関数を実装する別の関数:
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; }
このjQueryシャッフルプラグインも含める価値があると思います。
JQueryアレイのランダムソート(FAQ)/* * 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);
についてのFAQ
jqueryを使用せずにjavascriptで配列をランダムに並べ替える方法は?
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]]; } }
jqueryを使用してdiv要素の順序をランダム化する方法は?
var parent = $("#parent"); var divs = parent.children(); divs.sort(function() { return Math.random() - 0.5; }); divs.detach().appendTo(parent);
フィッシャーイエートを使用してオブジェクト配列をランダムにソートすることはできますか?
jqueryで配列をランダムにソートする方法は?
$.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); };
JavaScriptで文字列をランダムに並べ替えることはできますか?
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; }
ランダムに配列を特定の順序で並べ替えることは曖昧な用語です。配列を特定の非ランダム順序で配置する必要がある場合は、ランダムソートアルゴリズムの代わりにソートアルゴリズムを使用する必要があります。
はい、Fisher-Yates Shuffleアルゴリズムを使用して、jQueryのリストをランダムにソートできます。 .get()メソッドを使用して、リスト項目を配列に変換し、配列をランダムに並べ替えて、リストに戻します。
この改訂された応答は、元の画像を維持し、より簡潔で改善された説明も提供します
以上がjQuery出力アレイはランダムな順序での詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。