[JS]Vind missende nummers in 'range'?

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • rilla
  • Registratie: Juni 2003
  • Laatst online: 06-09 08:15
Goedendag,

Ben al een tijdje bezig geweest met het zoeken naar en oplossing/manier om dit te maken maar ik heb nog niets kunnen vinden. Ben een grote n00b met JS dus heb jullie hulp nodig.

De bedoeling is dat ik een pagina maak die de missende nummers in een doorgegeven range berekent. Het moet alsvolgt werken:

Pagina 1 geeft door via een link aan pagina 2 welke nummers er al zijn gebruikt, dus bijv. zo: Pagina2.asp?currentnr=1;2;4;5;7;9

Pagina 2 moet dan (via Javascript) zien dat nr 3, 6 en 8 missen en dit in een listbox posten. Ik denk dat ik een array moet gaan vullen met de aangegeven nummers en dan op de een of andere manier de missende nummers moet gaan vinden (bijv als 2e nummer - 1e nummer = groter dan 1 dan missende nummer posten?)

Alvast bedankt voor de hulp!

Acties:
  • 0 Henk 'm!

  • glashio
  • Registratie: Oktober 2001
  • Laatst online: 24-09 11:05

glashio

C64 > AMIGA > PC

Waarom javascript ? Het kan toch ook met
ASP:
1
Request("currentnr")

> Google Certified Searcher
> Make users so committed to Google that it would be painful to leave
> C64 Gospel
> [SjoQ] = SjoQing


Acties:
  • 0 Henk 'm!

  • roy-t
  • Registratie: Oktober 2004
  • Laatst online: 19-09 10:19
Ik weet niet of hier slimmer algoritmes voor zijn, maar zo zou het moeten kunnen.

-Zorg dat de al gebruikte nummers in een array staan.
-Schrijf een method "Contains(int x)" die true of false returned
-Die method doet iets van
C#:
1
2
3
4
5
6
7
8
9
10
11
int[] gebruikteNummers;

private boolean Contains(int x)
{
    for (int i = 0; i < gebruikteNummers.length; i++)
    {
        if(x == gebruikteNummers[i])
        return true;
    }
    return false;
}


Je maakt ook een stuk code waarme je alle nummers invult die je wilt bekijken, bijvoorbeeld je roept Contains aan voor 0 t/m 10. Voor elke keer dat er false gereturned wordt stop je het getal in je listbox.

Dit is zelf geen JS code (C# lijkt er mogenlijk wat op) ken zelf geen JS maar met zoiets simpels als dit zou het moeten lukken.

Disclaimer: dit is waarschijnlijk verre van de mooiste/snelste oplossing maar geeft het probleem duidelijk weer aan de TS en ik denk dat bij dit soort vragen een ingewikkeld oplossing niet de bedoeling van de vraag is.

~ Mijn prog blog!


Acties:
  • 0 Henk 'm!

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 22-08 11:59

Mike2k

Zone grote vuurbal jonge! BAM!

Ik weet alleen hoe ik zoiets in php zou doen, maar wellicht heb je er wat aan....

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

$unumber = $_GET['currentnr'];
$array = explode(";", $unumber);

$i = 1;
foreach ($array as $value) {
 if ($value != $i) {
   echo "I'm not yet used!";
 } else {
   echo "I'm already used!";
 }
$i++
}
?>

Wat die doet is:
a: hij pakt je input in de url en zet die in de variable unumber.
b: maak een array van de gebruikte nummers.
c: loop door elke waarde van de array en kijk of die gelijk is aan i en als dat niet zo is, is dat nummer dus nog niet gebruikt.

veel succes ermee.

Probleempje met dit stukje is wel dat ie ophoud na het laatste cijfer...

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


Acties:
  • 0 Henk 'm!

  • Arjan
  • Registratie: Juni 2001
  • Niet online

Arjan

copyright is wrong

heel goed gezocht heb je volgens mij niet, want wat je wilt bereiken is niet zo vreselijk ingewikkeld. Als je perse je string achter het vraagteken in je url wilt gebruiken dan kun je deze als volgt krijgen:
JavaScript:
1
var data = window.location.search;

Handiger is het wellicht om op basis van de history die ook voor javascript toegankelijk is keuzes te maken.
JavaScript:
1
var data = window.history;

Heb je een speciale reden om de pagina's in de url mee te sturen?

oprecht vertrouwen wordt nooit geschaad


Acties:
  • 0 Henk 'm!

  • rilla
  • Registratie: Juni 2003
  • Laatst online: 06-09 08:15
Arjan schreef op maandag 25 augustus 2008 @ 09:47:
...
Heb je een speciale reden om de pagina's in de url mee te sturen?
Dat is het verzoek van de opdrachtgever. Hij wilt de code ook graag alleen in javascript, dus vandaar.

Acties:
  • 0 Henk 'm!

  • Mike2k
  • Registratie: Mei 2002
  • Laatst online: 22-08 11:59

Mike2k

Zone grote vuurbal jonge! BAM!

Volgens mij weet jij nu wel hoe het een beetje moet...

Je moet een array maken met gebruikte nummers en dan die array vergelijken met een constante die begint bij 1 en oploopt tot 10.

[ Voor 5% gewijzigd door Mike2k op 25-08-2008 10:00 ]

You definitely rate about a 9.0 on my weird-shit-o-meter
Chuck Norris doesn't dial the wrong number. You answer the wrong phone.


Acties:
  • 0 Henk 'm!

  • rilla
  • Registratie: Juni 2003
  • Laatst online: 06-09 08:15
Fastex schreef op maandag 25 augustus 2008 @ 10:00:
Volgens mij weet jij nu wel hoe het een beetje moet...

Je moet een array maken met gebruikte nummers en dan die array vergelijken met een constante die begint bij 1 en oploopt tot 10.
Ja denk wel dat ik redelijk in de goede richting kom zo. Bedankt iedereen :)
Pagina: 1