我已经创建了一个工作的javascript函数来检查一个小数字的5个数字的数组,在我正在制作的Yahtzee游戏中.我已经对它进行了测试,并且我确信它可以在100%的时间内正常工作,但它也可能是有效率方面有史以来最差的算法.这是它的样子:
function calcSmstraight() {
var sum = 0;
var r = new Array();
var r2 = new Array();
var counter = 0;
var temp;
var bool = false;
var bool2 = false;
r[0] = document.getElementById('setKeep1').value;
r[1] = document.getElementById('setKeep2').value;
r[2] = document.getElementById('setKeep3').value;
r[3] = document.getElementById('setKeep4').value;
r[4] = document.getElementById('setKeep5').value;
// Move non-duplicates to new array
r2[0] = r[0];
for(var i=0; i<r.length; i++) {
for(var j=0; j<r2.length; j++) {
if(r[i] == r2[j]) {
bool2 = true; // Already in new list
}
} …Run Code Online (Sandbox Code Playgroud)