快速提问:
实现这行 python 代码的最佳方法是什么(从给定范围生成两个随机但不同的数字)...
random.sample(xrange(10), 2)
...在 Javascript 中?
提前致谢!
马丁
最佳答案
这是我使用拼接的尝试:
var a = [1,2,3,4,5,6,7,8,9,10];var sample = [];
sample.push(a.splice(Math.random()*a.length,1));
sample.push(a.splice(Math.random()*a.length,1));
包装在函数中:
function sample_range(range, n) {
var sample = [];
for(var i=0; i<n; i++) {
sample.push(range.splice(Math.random()*range.length,1));
}
return sample;
}
var sample = sample_range([1,2,3,4,5,6,7,8,9,10], 2);
我们还可以将函数粘贴到 Array.prototype 中以具有类似点符号语法的内容:
Array.prototype.sample_range = function(n) {
var sample = [];
for(var i=0;i<n;i++) {
sample.push(this.splice(Math.random()*this.length,1));
}
return sample;
};
var sample = [1,2,3,4,5,6,7,8,9,10].sample_range(2);
关于javascript:从范围内生成 2 个随机但不同的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4946495/