Quelqu'un a fait un script de comparaison pour moi, mais il fonctionne comme il se doit, parce que je n'étais pas très clair, le code ne fait pas totalement comment j'aime l'avoir.javascript comparez le tableau
S'il vous plaît jeter un oeil à ce site, cela vous expliquera plus de mille mots
La fonction de ce site vérifie les numéros de loto/bingo, chaque tirage jour (1 et 2) doit être comparé à tous les les gens qui jouent. Certains nombres sont verts, mais tous les nombres ne sont pas verts, ils devraient être verts car ils correspondent à certains nombres de la liste des joueurs. Encore une fois, c'était ma faute parce que je n'étais pas assez clair. Quelqu'un peut-il me dire quelle partie doit être remplacée ou éditée pour qu'elle vérifie tous les nombres dans la variable DRAW à la place elle ne vérifie que la dernière variable ajoutée DRAW?
http://www.coldcharlie.nl/lotto/
Ceci est la partie de la fonction.
function checkArray(guesses, draw) {
var results = {}
for (var i = 0; i< guesses.length; ++i) {
if (draw.picks[guesses[i]]) {
results[guesses[i]] = 'win';
} else {
results[guesses[i]] = 'loss';
}
}
return results;
}
function appendTo(elt, parent) {
if (parent) {
document.getElementById(parent).appendChild(elt);
} else {
document.body.appendChild(elt);
}
}
function printResults(name, winloss, parent) {
var resultElt = document.createElement('div');
resultElt.appendChild(document.createElement('span'));
resultElt.firstChild.appendChild(document.createTextNode(name));
resultElt.firstChild.className='name';
var picks = document.createElement('ol');
picks.className='picks';
for (var p in winloss) {
picks.appendChild(document.createElement('li'));
picks.lastChild.appendChild(document.createTextNode(p));
picks.lastChild.className = winloss[p];
}
resultElt.appendChild(picks);
appendTo(resultElt, parent);
}
function printResultsFor(name, draw, parent) {
printResults(name, checkArray(players[name], draw), parent);
}
function printDraw(which, draw, parent) {
var drawElt = document.createElement('div');
drawElt.className='draw';
drawElt.appendChild(document.createElement('h3'));
drawElt.lastChild.appendChild(document.createTextNode('Draw '+which));
drawElt.lastChild.className='drawNum';
drawElt.appendChild(document.createElement('div'));
drawElt.lastChild.className='date';
drawElt.lastChild.appendChild(document.createTextNode(draw.when));
var picks = document.createElement('ol');
picks.className='picks';
for (var p in draw.picks) {
picks.appendChild(document.createElement('li'));
picks.lastChild.appendChild(document.createTextNode(p));
}
drawElt.appendChild(picks);
appendTo(drawElt, parent);
}
Ceci est la partie HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<style type="text/css">
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
color: white;
background-color: #333;
}
.name {
color: white;
font-weight: bold;
margin-right: 0.5em;
}
.picks, .picks * {
display: inline;
margin: 0;
padding: 0;
list-style-type: none;
}
.picks * {
margin: auto 0.25em;
}
.win { color: lime; }
.loss { color: red; }
.drawNum, #Draws H3 {
margin-bottom: 0;
}
</style>
<script type="text/javascript" src="lotto.js"></script>
</head>
<body>
<div id="Results"></div>
<div id="Draws"></div>
<script type="text/javascript">
var players = {John: ["2","3","8","12","23", "37", "41", "45", "48"],
Michael: ["2","14","3","12","24", "37", "41", "46", "48"]};
var draws = [ {when: 'Sat 08-08-2009',
picks:{2:1, 5:1, 11:1, 16:1, 23:1, 45:1, 46:1}},
{when: 'Sat 15-08-2009',
picks:{1:1, 23:1, 11:1, 14:1, 23:1, 42:1, 46:1}}];
draws.last = draws[draws.length-1];
for (name in players) {
printResultsFor(name, draws.last, 'Results');
}
for (var i=0; i<draws.length; ++i) {
printDraw(i+1, draws[i]);
}
</script>
</body>
</html>
dup possible de http://stackoverflow.com/questions/1282528/compare-array-in-javascript –