簡體   English   中英

在JavaScript / jQuery中隨機分配3個數組

[英]Randomizing 3 arrays in JavaScript/jQuery

我想將三個數組隨機化為字體,字體大小,字體粗細。 然后,我需要在一個div中顯示三個數組的結果,其類名稱為randomFont。 因此,每次我使用randomFont類時,它將返回一個隨機的字體/大小/粗細。

關於我將如何執行此操作的任何想法?

假設我在每個數組中都有3個變量。

  • 數組1(字體)>字體1,字體2,字體3
  • 數組2(字體粗細)>粗體,淺色,100
  • 數組3(字體大小)> 12px,24px,100px

然后,我希望一個數組從每個數組中隨機選擇一個,並在名為randomFont的div>類中顯示輸出。

我該怎么做?

確實不需要jQuery,但是應該這樣做,因為您沒有提供我必須編寫的任何示例代碼,但這應該可以助您一臂之力。

var item = items[Math.floor(Math.random() * items.length)];

對每個數組執行此操作。

您可以在http://jsfiddle.net/CrossEye/bwsvy/中看到一種方法

var fonts = ['Arial', 'Helvetica', 'Georgia', 'Tahoma', 'Verdana'];
var weights = ['normal', 'bold', 'lighter'];
var sizes = ['16px', '20px', '24px', '36px', '40px'];

var choose = function(arr) {
    return arr[Math.floor(Math.random() * arr.length)];
};

// ...
var text = choose(sizes) + ' ' + choose(weights) + ' '  +  choose(fonts);
output.innerHTML = '<div class="randomFont">' + text + '</div>';
// e.g. '24px bold Tahoma'

不清楚將數組隨機化是什么意思。 如果您有固定的值列表,並且想在適當的位置重新排列它們,那么您需要一個隨機播放功能,如下所示:

var shuffle = function(arr) {
    for (var i = arr.length; i--;) {
        var j = Math.floor(Math.random() * (i + 1));
        var temp = arr[i];
        arr[i] = arr[j];
        arr[j] = temp;
    }
    return arr;
}

這可能只是對您正在尋找的內容的部分答案,但對我來說,現在還不清楚您總體上的追求是什么。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM