2013-01-20 65 views

回答

4

如果您使用數組,而不是多個變量,那麼你可以選擇從陣列中的隨機元素:

function test() { 
    var values = ["test","values","go","here"], 
     valueToUse = values[Math.floor(Math.random() * values.length)]; 
    // do something with the selected value 
    alert(valueToUse); 
} 

演示:http://jsfiddle.net/XDn2f/

(當然陣列不必包含簡單值如我顯示的字符串,你可以有一個對象數組,或其他函數的引用等)

+0

PS:如果陣列中包含'function's,記得要加'()''後valueToUse'如果你正在執行它的時候了:'valueToUse()' –

+0

謝謝你這麼多! –

1

如果你的其中一個參數是一個數組,你可以從中隨機選擇一個值。

function myFunc(arrayInput) 
{ 
    var randomIndex = Math.floor((Math.random()*10)+1); 
    return (arrayInput[randomIndex]); 
} 
+0

它不應該是'* arrayInput.length'而不是硬編碼'10'嗎?另外,不需要添加'1'。 – nnnnnn

0

如果你有N個變量,那麼它是乾淨的把它們放在一個數組,並隨機生成一個索引數組。

var items = [1,2,3,4]; 
var index = Math.floor(Math.random() * items.length); 
items[index] = whatever; 

如果你只有一對夫婦的變量,您可以生成一個隨機數,並使用if/else聲明所需的變量進行操作。

var a, b; 
var index = Math.random(); 
if (index < 0.5) { 
    // operate on a 
    a = 3; 
} else { 
    // operate on b 
    b = 3; 
} 
相關問題