JavaScript---不重复的随机数
来源:百度文库 编辑:神马文学网 时间:2024/04/27 17:05:42
代码:
程序代码
// @param list: an Array
// @param alias: name for getter function,
// by default it's "getItem"
function RandomList(list, alias) {
if (!list) { return; }
var length = list.length;
this.indexes = [];
this.remainingItems = function(){
return this.indexes.length;
};
this[alias || 'getItem'] = function(){
var rand = Math.floor(Math.random() * this.indexes.length),
item = list[this.indexes[rand]];
this.indexes.splice(rand, 1);
return item;
};
while (length--) {
this.indexes[this.indexes.length] = length;
}
}
用法:
程序代码
// List of fruit:
var fruits = [
'Apple',
'Banana',
'Orange',
'Melon',
'Grape',
'Pear'
];
var button = document.getElementById('the_button'),
// Custom alias ('getFruit'):
basket = new RandomList(fruits, 'getFruit');
button.onclick = function() {
if (!basket.remainingItems()) {
alert('None left!');
} else {
alert( basket.getFruit() ); // < We're using the new alias!
alert( 'Only ' + basket.remainingItems() + ' left in the basket!');
}
}
程序代码
// @param list: an Array
// @param alias: name for getter function,
// by default it's "getItem"
function RandomList(list, alias) {
if (!list) { return; }
var length = list.length;
this.indexes = [];
this.remainingItems = function(){
return this.indexes.length;
};
this[alias || 'getItem'] = function(){
var rand = Math.floor(Math.random() * this.indexes.length),
item = list[this.indexes[rand]];
this.indexes.splice(rand, 1);
return item;
};
while (length--) {
this.indexes[this.indexes.length] = length;
}
}
用法:
程序代码
// List of fruit:
var fruits = [
'Apple',
'Banana',
'Orange',
'Melon',
'Grape',
'Pear'
];
var button = document.getElementById('the_button'),
// Custom alias ('getFruit'):
basket = new RandomList(fruits, 'getFruit');
button.onclick = function() {
if (!basket.remainingItems()) {
alert('None left!');
} else {
alert( basket.getFruit() ); // < We're using the new alias!
alert( 'Only ' + basket.remainingItems() + ' left in the basket!');
}
}
JavaScript---不重复的随机数
用javascript生成指定范围的随机数
matlab中随机数的问题
C# 随机数 Random 的使用
Excel提取不重复的数值
多行多列筛选不重复的值(EXCEL)
Excel提取不重复的数值
随机数的产生原理与实现
随机数的产生原理与实现
生成接近真随机数的新方法
java产生随机数的几种方式
提取Excel不重复值的自定义函数方案
多行多列筛选不重复的值(EXCEL)11
真正安全的软件需要精确的随机数生成器
[转]真正安全的软件需要精确的随机数生成器
重复的矿难 重复的问题
随机数产生原理及应用 - 梦想的高度
基于FPGA的高速高斯随机数发生器
在PHP中使用随机数的三个步骤详细代码
用rand()和srand()产生伪随机数的方法总结
VB编写的蒙特卡罗方法产生正态分布随机数
JavaScript 的打印
JavaScript的优化处理
JavaScript的框架对象