[js] Opbouwen van dimensionale array mislukt

Pagina: 1
Acties:

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Voor een leuke XML toepassing bouw ik in javascript een array op van users die later weer kunnen worden teruggeroepen (althans dat is de bedoeling).

Hier loopt het gruwelijk mis. Ik gebruik een functie die gegevens over een user heeft als parameters, en die moet het in een array stoppen.
code:
1
2
3
4
5
6
7
8
function user(id, name, icq)
{
    users[id] = [
        ['username', name],
        ['icq', icq]
    ];
    document.write(users[id]['username']);
}

Echter, ik krijg een undefined wanneer ik die onderste regel laat afdrukken. Uiteraard staat die hier alleen voor testdoeleinden, later komt die regel in andere functies.

Bovenin heb ik nog dit staan:
code:
1
var users = new Array();

Maar wat doe ik nou fout :?

Verwijderd

Wat je fout doet is de hele approach. Een object-gebaseerde benadering zou hier veel meer op z'n plaats zijn.
code:
1
2
3
4
5
6
7
8
9
function userObject(id, name, icq) {
    this.id     = id;
    this.username   = name;
    this.icq        = icq;
    users[id]       = this;
}
var users = new Array();
new userObject('Blues','Salvador Dali',1234567);
alert(users['Blues'].username);

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Daarnaast is het bewaren van objectstructuren in een array imo zowiezo niet echt efficient. Zeker als je al een tree hebt ( aangezien je met XML werkt ) waarom niet gelijk gebruik maken daarvan, je hebt namelijk al je keys gelinked naar je node toch?

"You're only as good, as what you did last week."


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Blues:
Wat je fout doet is de hele approach. Een object-gebaseerde benadering zou hier veel meer op z'n plaats zijn.
code:
1
heldencode
Thanx, dit werkt iig goed! :)
Maar waarom werkte dit andere nou niet, want het zou opzich wel moeten kunnen toch ?
oh,when?:
Daarnaast is het bewaren van objectstructuren in een array imo zowiezo niet echt efficient. Zeker als je al een tree hebt ( aangezien je met XML werkt ) waarom niet gelijk gebruik maken daarvan, je hebt namelijk al je keys gelinked naar je node toch?
Ik ben geen super XML expert maar weet me wel te redden. Ik gebruik javascript vanuit de XSLT omdat ik functies gebruik (clientside) die ik niet via XSLT kan afhandelen. Zo bouw ik dus o.a. eerst in javascript een hele userarray op, die ik later bij berichten aanspreek.

Ik heb geen idee hoe ik dit in XSLT zou kunnen doen, aangezien ik de berichten zelf (html daarvan) ook vanuit de javascript uitpoep.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op maandag 24 juni 2002 10:20 schreef oh,when? het volgende:
Daarnaast is het bewaren van objectstructuren in een array imo zowiezo niet echt efficient. Zeker als je al een tree hebt ( aangezien je met XML werkt ) waarom niet gelijk gebruik maken daarvan, je hebt namelijk al je keys gelinked naar je node toch?
In JS zijn de Arrays vele malen efficienter en sneller dan de DOM/XML methodes.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op maandag 24 juni 2002 10:28 schreef ddc het volgende:

[..]

Thanx, dit werkt iig goed! :)
Maar waarom werkte dit andere nou niet, want het zou opzich wel moeten kunnen toch ?
[..]
Je slaat het heel anders op dan dat je het opvraagt.

document.write(users[id][0][1]);

werkt waarschijnlijk wel. (Je hebt een Array in een Array in een Array :P)

Of je moet doen:
code:
1
2
3
users[id]['username'] = name;
users[id]['icq'] = icq;
document.write(users[id]['username']);

(Maar ik raad Blues' object-methode aan overigens.. das toch eeen stuk netter en flexibeler).

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Ik heb de methode van Blues idd al gebruikt :+

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

JS objecten roelen :D iedereen zou ermee moeten werken. Ik vroeg het laatst ook al, en dus hier maar nog een keer,

Is er behoefte aan een NL tutorial over Object based JS? Er zijn volgens mij wel zat tuto's, maar die zijn of engels (en dat is soms een probleem), of te technisch, of er scheelt wat anders aan. Nou wil ik niet beweren dat ik DE geniale tutorial kan schrijven, maar ik wil er best een gooi naar doen.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


Verwijderd

Op maandag 24 juni 2002 10:54 schreef Clay het volgende:
JS objecten roelen :D iedereen zou ermee moeten werken. Ik vroeg het laatst ook al, en dus hier maar nog een keer,

Is er behoefte aan een NL tutorial over Object based JS? Er zijn volgens mij wel zat tuto's, maar die zijn of engels (en dat is soms een probleem), of te technisch, of er scheelt wat anders aan. Nou wil ik niet beweren dat ik DE geniale tutorial kan schrijven, maar ik wil er best een gooi naar doen.
Altijd :)

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 14:58

Pelle

🚴‍♂️

Op maandag 24 juni 2002 11:03 schreef Gordijnstok het volgende:
Altijd :)
Ik doe er ook nog te weinig mee.. alle input is welkom :)

Verwijderd

Op maandag 24 juni 2002 11:17 schreef Pelle het volgende:

[..]

Ik doe er ook nog te weinig mee.. alle input is welkom :)
Ik ben het type luie developer ;) Ik gebruik het dus ook te weinig nog :P

  • Hangloozz
  • Registratie: Juli 1999
  • Laatst online: 13-07 17:24

Hangloozz

{ @$%&# }

Op maandag 24 juni 2002 10:54 schreef Clay het volgende:
JS objecten roelen :D iedereen zou ermee moeten werken. Ik vroeg het laatst ook al, en dus hier maar nog een keer,

Is er behoefte aan een NL tutorial over Object based JS? Er zijn volgens mij wel zat tuto's, maar die zijn of engels (en dat is soms een probleem), of te technisch, of er scheelt wat anders aan. Nou wil ik niet beweren dat ik DE geniale tutorial kan schrijven, maar ik wil er best een gooi naar doen.
yep, * Hangloozz is Array/object-n00b :P
hmm, eigenlijk helemaal JS n00b :(

www.jurgroessen.nl


  • Limhes
  • Registratie: Oktober 2001
  • Laatst online: 19-08 19:06
Op maandag 24 juni 2002 10:54 schreef Clay het volgende:
JS objecten roelen :D iedereen zou ermee moeten werken. Ik vroeg het laatst ook al, en dus hier maar nog een keer,

Is er behoefte aan een NL tutorial over Object based JS? Er zijn volgens mij wel zat tuto's, maar die zijn of engels (en dat is soms een probleem), of te technisch, of er scheelt wat anders aan. Nou wil ik niet beweren dat ik DE geniale tutorial kan schrijven, maar ik wil er best een gooi naar doen.
Ja graag. Niet veel documentatie te vinden met goochel.

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 24 juni 2002 10:54 schreef Clay het volgende:
JS objecten roelen :D iedereen zou ermee moeten werken. Ik vroeg het laatst ook al, en dus hier maar nog een keer,

Is er behoefte aan een NL tutorial over Object based JS? Er zijn volgens mij wel zat tuto's, maar die zijn of engels (en dat is soms een probleem), of te technisch, of er scheelt wat anders aan. Nou wil ik niet beweren dat ik DE geniale tutorial kan schrijven, maar ik wil er best een gooi naar doen.
kom maar op :)

kun je gelijk verklaren waarom je altijd 1 extra regel nodig hebt als je je prototypes declared >:) :P

"You're only as good, as what you did last week."


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Gordijnstok: Ik ben het type luie developer ;)
Alle developers zijn toch lui? :P

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 24 juni 2002 11:24 schreef Limhes het volgende:

[..]

Ja graag. Niet veel documentatie te vinden met goochel.
Das niet waar. Heb het al duizend keer geroepen maar het lijkt erop alsof mijn posts de hele tijd geignored worden. Onze collega's op het Actionscript front zijn al helemaal object freaks, en vanwege de natuur van Actionscript ( Ecma 625 ) is de overstap naar Javascript snel gemaakt:


link 1
link 2
link 3
link 4


* oh,when? ziet trouwens het probleem niet van engelse documentatie en tutorials maar goed. zal er wel mee te maken dat ik engels bloed heb ;)

"You're only as good, as what you did last week."


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 24 juni 2002 11:18 schreef Gordijnstok het volgende:

[..]

Ik ben het type luie developer ;) Ik gebruik het dus ook te weinig nog :P
jij was toch een inspirator? :? >:)

"You're only as good, as what you did last week."


  • Annie
  • Registratie: Juni 1999
  • Laatst online: 25-11-2021

Annie

amateur megalomaan

Op maandag 24 juni 2002 11:24 schreef Limhes het volgende:

[..]

Ja graag. Niet veel documentatie te vinden met goochel.
Op DevEdge is ook nog wel het eea te vinden (in het archief weliswaar)
bijv:
http://developer.netscape.com/docs/manuals/js/client/jsguide/index.htm

Today's subliminal thought is:


  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

Goed, dan ga ik er een gooi naar doen, Een NL tuto in "Jip en Janneke" taal over Object based JS + overerving met codesamples en uitleg voor de zgn "JS-n00bs" :P woei!

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Als het té n00b wordt, dan is het niet echt interessant meer vrees ik, dus denk daar wel een beetje aan ;).

Verwijderd

Op maandag 24 juni 2002 12:27 schreef Clay het volgende:
Goed, dan ga ik er een gooi naar doen, Een NL tuto in "Jip en Janneke" taal over Object based JS + overerving met codesamples en uitleg voor de zgn "JS-n00bs" :P woei!
Wordt dit een online tutorial? Misschien dat je dan http://www.netzministerium.com/spezial/code2html/ kunt gebruiken voor de 'code to html'-conversie.

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 24 juni 2002 15:55 schreef Blues het volgende:

[..]

Wordt dit een online tutorial? Misschien dat je dan http://www.netzministerium.com/spezial/code2html/ kunt gebruiken voor de 'code to html'-conversie.
das geen validated code >:) :P

"You're only as good, as what you did last week."


Verwijderd

Op maandag 24 juni 2002 16:14 schreef oh,when? het volgende:

[..]

das geen validated code >:) :P
eh :?

  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op maandag 24 juni 2002 16:18 schreef Blues het volgende:

[..]

eh :?
check de output maar....als we nu toch zo bezig zijn over code conventies, tutorials etc is het wel zo netjes om dan helemaal volgens de regeltjes te werken :)

"You're only as good, as what you did last week."


Verwijderd

Wanneer kunnen we die tut. ongeveer verwachten ?! Kijk ik weer es ff :)

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Op maandag 24 juni 2002 16:27 schreef oh,when? het volgende:

[..]

check de output maar....als we nu toch zo bezig zijn over code conventies, tutorials etc is het wel zo netjes om dan helemaal volgens de regeltjes te werken :)
Neeee.. en ik denk ook niet dat Clay zulke ranzige code gaat produceren. Of wel? :P

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

...

>:)
code:
1
2
3
4
function smurf(ene) 
{return ene * arguments[1];}
fiets=smurf(3, 2)
alert(fiets)

ik dacht aan zoiets. Lekker compact en het werkt.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin


  • oh,when?
  • Registratie: April 2000
  • Niet online

oh,when?

...

Op dinsdag 25 juni 2002 09:02 schreef Clay het volgende:
...

>:)
code:
1
2
3
4
function smurf(ene) 
{return ene * arguments[1];}
fiets=smurf(3, 2)
alert(fiets)

ik dacht aan zoiets. Lekker compact en het werkt.
:D

"You're only as good, as what you did last week."


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Even de conventie:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
function     smurf     (    ene    ) 
{


    return    ene    *    arguments   [  1  ]



}

fiets     =    smurf  (   3  ,   2  )

alert     (   fiets     )

Das toch veel overzichtelijker }:O

  • Pelle
  • Registratie: Januari 2001
  • Laatst online: 14:58

Pelle

🚴‍♂️

* Pelle gaat voor obfuscated oneliners, scheelt in de filesize
code:
1
function s(e){return e*arguments[1];}f=s(3,2);alert(f);

  • Dennis
  • Registratie: Februari 2001
  • Laatst online: 12:35
Pelle: * Pelle gaat voor obfuscated oneliners
Doe je dat met ál je code :?
Pagina: 1