javascript:从范围内生成 2 个随机但不同的数字

标签 javascript random sampling

快速提问:

实现这行 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/

相关文章:

python random.shuffle的随机性

php - mysql/php随机

signal-processing - 线性量化和非线性量化有什么区别?

javascript - 如何将 HighCharts 图表上的比例与轴而不是边距对齐?

javascript - 退出 jQuery $.each 循环

javascript - Ajax请求: Json Data Not Being Passed to Controller

python - 如何对信号保留尖峰进行下采样?

javascript - 为什么Java脚本点击事件在第一页加载时没有触发?

random - 伪随机二进制序列预测

Android 实时音频采集 - 丢失一些样本?