2017-04-07 30 views
1

我想在相同功能試圖在javascript中拖動多個數組,但以相同的方式?

var array1 = [1,2,3,4,5]; 
var array2 = [6,7,8,9,10]; 

所以它返回每個陣列隨機洗牌如

4,2,3,5,1 
7,9,6,8,10 

而且在返回我想兩者之間的線路中斷隨機洗牌這兩個數組,請幫忙?

+2

首先,搜索堆棧溢出 '洗牌陣列' 找到。其次,輸出就像'document.body.innerHTML = array1.join(',')+'
'+ arrat2.join(',')'一樣簡單。你走了。這兩個很容易找到在這個網站上有一點谷歌搜索... – somethinghere

+0

@somethinghere不要告訴OP做'document.body.innerHTML ='。他們的帖子中沒有任何內容表明他們希望用該數據替換他們的整個HTML主體。 – itamar

+0

@itamar在這篇文章中沒有任何實際建議_where_他_wants_輸出_at all_。我使用'document.body'來舉例說明_can_至少能夠工作並展示這可能是多麼的簡單(我確實說過_'是'_',而不是'唯一的方法就是')。總之,這不是我的觀點。這兩件事情都很容易找到這個網站。不,我不是拖釣。 – somethinghere

回答

1

添加洗牌方法Array.prototype爲便於訪問 - 返回一個修改後的數組保持原來的不變。

Array.prototype.shuffle = function() { 
 
    var rIndex, temp, 
 
    input = this.slice(0), 
 
    cnt = this.length; 
 

 
    while (cnt) { 
 
    rIndex = Math.floor(Math.random() * cnt); 
 
    temp = input[cnt - 1]; 
 
    input[cnt - 1] = input[rIndex]; 
 
    input[rIndex] = temp; 
 
    cnt--; 
 
    } 
 

 
    return input; 
 
} 
 

 
var array1 = [1, 2, 3, 4, 5]; 
 
var array2 = [6, 7, 8, 9, 10]; 
 

 
document.getElementById('shuffle-btn').onclick = function(){ 
 
    document.getElementById('output').innerHTML = [array1.shuffle(), array2.shuffle()].join('\n'); 
 
}
<button id="shuffle-btn">Shuffle</button> 
 
<pre id="output"></pre>

+0

謝謝我正在執行此功能使用onclick通過按鈕我可以這樣做嗎? – AB1412

+0

是的。您可以。如果你想插入一些DOM元素的結果,使用'
'而不是'\ n'在'加入' –

+0

如何在一個按鈕的HTML onclick中調用這個函數? – AB1412

相關問題