Avatar billede _k Nybegynder
16. september 2003 - 09:54 Der er 5 kommentarer og
3 løsninger

Fjerne tomme pladser i et array

Inden jeg ender ud med en alt for snørklet løsning af dette problem, spørger jeg lige her.

Har et array indeholdende ord og tomme pladser. Arrayet konstrueres udfra et input-tekstfelt og tekststreng.split(" "), og varierer derfor fra gang til gang.
Det jeg vil er at "rydde" op i arrayet, fjerne alle tomme indførsler og skubbe resten på plads, så de står pænt ved siden af hinanden. Har kigget på array.splice() metoden, men kan kun få den til at du hvis kun én tom plads i arrayet forekommer....

Nogen der kender en god måde at gøre dette på?
Avatar billede erikjacobsen Ekspert
16. september 2003 - 10:01 #1
Noget i denne stil? Jeg foreslår du kopierer de "rigtige" elementer over
i et nyt array:

a = Array();
b = Array();
a[0]="Ole";
a[1]="";
a[2]="sad";
a[3]="";
k=0;
for (i=0;i<a.length;i++) {
  if (a[i]!="") {
    b[k++]=a[i];
  }
}
Avatar billede anhansen Nybegynder
16. september 2003 - 10:02 #2
Du kunne lave et ekstra array. Løbe det original igennem, og hver gang  du finder en post der, kopiere den over på næste ledige plads i det nye array. Når du er igennem, kopierer du det nye ind istedet for det gamle, og sletter det nye.
Avatar billede hoejrup Nybegynder
16. september 2003 - 10:08 #3
tekst er arraynavnet på din splittet array
splitCounter er tælleren i det array du splitter op

tekst2 = new Array();
antalElementer = splitCounter + 1
for (i = 0; i < antalElementer; i++) {
    if (tekst[i] != "") {
        m++;
        tekst2[m] = tekst[i];
    }
}

/per
Avatar billede _k Nybegynder
16. september 2003 - 10:12 #4
Super - det var ideen med et ekstra array, jeg ikke kunne svinge mig op til selv at få, her (tidligt? ;o) om morgenen.

Tak for hjælpen alle 3. Læg lige nogle svar, ikk?
Avatar billede erikjacobsen Ekspert
16. september 2003 - 10:14 #5
ok
Avatar billede anhansen Nybegynder
16. september 2003 - 10:19 #6
der er vist et... men der kommer lige et ekstra... Godt at se du bliver glad for hjælpen... ;-)
Avatar billede hoejrup Nybegynder
16. september 2003 - 10:23 #7
Ok, men erikjacobsen var hurtigere end mig.

/per
Avatar billede hoejrup Nybegynder
16. september 2003 - 10:26 #8
Velbekomme!

/per
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester