Discussion:
Javascript : Test og streng findes i array
(for gammel til at besvare)
scootergrisen
2014-03-06 14:16:57 UTC
Permalink
Hvad er den bedste måde og teste om en streng findes i et array ?
Karl Erik Christensen
2014-03-06 15:18:35 UTC
Permalink
Post by scootergrisen
Hvad er den bedste måde og teste om en streng findes i et array ?
Det er den måde der giver det rigtige resultat.

Karl Erik.
Jens Peter Karlsen
2014-03-06 18:48:00 UTC
Permalink
Test først om arrayet overhovedet kan indeholde strengen. Hvis det kan
så gå igennem arrayet karakter for karakter indtil du finder første
karakter i strengen eller til enden af array. Kan resten af strengen
nu være i den resterende del af arrayet? Hvis ikke returner en fejl
ellers test for næste karakter. Fortsæt indtil success eller fejl.
Gentag indtil arrayet ikke længere kan indeholde strengen eller
strengen er fundet.

Regards Jens Peter Karlsen.
Post by scootergrisen
Hvad er den bedste måde og teste om en streng findes i et array ?
scootergrisen
2014-03-06 22:50:49 UTC
Permalink
Post by Jens Peter Karlsen
Test først om arrayet overhovedet kan indeholde strengen.
Hvordan gør jeg det ?
Jens Peter Karlsen
2014-03-07 11:11:38 UTC
Permalink
Hvordan du arbejder med en streng kan du se mere om her:
http://www.w3schools.com/jsref/jsref_obj_string.asp
Og array her:
http://www.w3schools.com/jsref/jsref_obj_array.asp

Undersøg først om strengen er identisk med et element (indexOf()).
Brug toUpperCase() for en caseinsensitiv søgning og trim() for at
fjerne eventuel whitespace.
Undersøg derefter om de enkelte elementer er lange nok til at
indeholde den givne streng og gå videre derfra.

Regards Jens Peter Karlsen.
Post by scootergrisen
Post by Jens Peter Karlsen
Test først om arrayet overhovedet kan indeholde strengen.
Hvordan gør jeg det ?
Karl Erik Christensen
2014-03-07 11:36:24 UTC
Permalink
Post by Jens Peter Karlsen
Undersøg først om strengen er identisk med et element (indexOf()).
Brug toUpperCase() for en caseinsensitiv søgning og trim() for at
fjerne eventuel whitespace.
Undersøg derefter om de enkelte elementer er lange nok til at
indeholde den givne streng og gå videre derfra.
Prisværdigt at du hjælper spørgere her Jens Peter. Jeg hjælper også
gerne, så langt mine evner rækker.

Mange års erfaring siger dog, at scooter har det bedst med noget kode
han kan copy/paste.
Derefter lægger han den på sin hjemmeside, uden at gøre opmærksom på, at
han ikke selv har lavet den.
De stakkels læsere tror derfor, at scooter er et kode-geni.

Karl Erik.
scootergrisen
2014-03-07 13:27:22 UTC
Permalink
Post by Karl Erik Christensen
Mange års erfaring siger dog, at scooter har det bedst med noget kode
han kan copy/paste.
Derefter lægger han den på sin hjemmeside, uden at gøre opmærksom på, at
han ikke selv har lavet den.
Og det kan du ikke lide eller hvad ?
scootergrisen
2014-03-07 13:23:51 UTC
Permalink
Sådan her eller er der en bedre måde ?

if (array.indexOf(streng) !== -1) {

return false;

}
Jens Peter Karlsen
2014-03-07 21:27:15 UTC
Permalink
Det ser meget rigtigt ud.

Regards Jens Peter Karlsen.
Post by scootergrisen
Sådan her eller er der en bedre måde ?
if (array.indexOf(streng) !== -1) {
return false;
}
Martin
2014-03-10 13:26:35 UTC
Permalink
if (array.indexOf(streng) > -1) {
return true;
}

Hvis det er en key du leder efter, så virker ovenstående naturligvis ikke.

if (array.key === undefined) {
return false;
}
Post by scootergrisen
Sådan her eller er der en bedre måde ?
if (array.indexOf(streng) !== -1) {
return false;
}
scootergrisen
2014-03-10 15:54:45 UTC
Permalink
Post by Martin
if (array.indexOf(streng) > -1) {
return true;
}
Er det bedre med > end med !== ?
Jens Peter Karlsen
2014-03-10 16:31:36 UTC
Permalink
Der burde ikke være nogen forskel her.
Hans betyder større end hvor det andet betyder forskellig fra. Så kun
i tilfælde hvor man kunne tænke sig at der blev returneret en lavere
værdi end -1 ville det have en betydning.

Regards Jens Peter Karlsen.
Post by scootergrisen
Er det bedre med > end med !== ?
Loading...