javascript 配对发电机
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 配对发电机相关的知识,希望对你有一定的参考价值。
// Parameters
const players = [
'FUR',
'JLO',
'PMA',
'PUR',
'NAP',
'BRA',
'TBE',
'JBD',
'MDL',
'JMH',
];
const nOfGames = 7;
// Script
let result = [];
function shuffle(a) {
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}
for (let i = 0; i < nOfGames; i++) {
let isUnique = false;
while (!isUnique) {
const buffer = [];
let series = shuffle(players);
for (let j = 0; j < 5; j++) {
const a = series[j];
const b = series[j+5];
const pair = a < b ? `${a}\t${b}` : `${b}\t${a}`;
if (result.includes(pair)) {
isUnique = false;
break;
} else {
buffer.push(pair);
}
isUnique = true;
}
if (isUnique) {
console.log(buffer.join('\n'));
result = result.concat(buffer);
}
}
console.log('\n\n');
}
function onlyUnique(value, index, self) {
return self.indexOf(value) === index;
}
console.log(JSON.stringify(result));
console.log('is unique:', result.filter(onlyUnique).length === result.length);
以上是关于javascript 配对发电机的主要内容,如果未能解决你的问题,请参考以下文章
javascript 返回发电机
javascript 发电机
javascript 发电机
javascript uuid发电机
javascript uuid发电机
javascript 中国对联发电机