2017-04-07 28 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

相关问题