Avatar billede sjh Nybegynder
22. juni 2004 - 13:57 Der er 17 kommentarer og
2 løsninger

delete index array

Hvordan sletter man en index i et array??

Jeg skal bruge det til en Chat og den skal jo ikke vise 1000 linjer ;)

var arrChat = new Array();

arrChat[arrChat.length] = "Noget 1"
arrChat[arrChat.length] = "Noget 2"
arrChat[arrChat.length] = "Noget 3"
arrChat[arrChat.length] = "Noget 4"

og så slet "Noget 1" eller index 0 ??
Avatar billede roenving Novice
22. juni 2004 - 14:03 #1
delete arrChat[0];
Avatar billede ldanielsen Nybegynder
22. juni 2004 - 14:03 #2
arrChat.shift();

- sletter den første, så arrChat[0] derefter vil være "Noget 2"

Det er vist det du skal bruge?
Avatar billede sjh Nybegynder
22. juni 2004 - 14:12 #3
virker arrChat.shift(); også i NS ??

og kan man ikke slette den på index ?? (delete arrChat[0] virker ikke den bliver bare Null)
Avatar billede ldanielsen Nybegynder
22. juni 2004 - 14:21 #4
NS? ja den gør.

prøv:

splice(index, howMany, [newElt1, ..., newEltN])


altså
arrChat.splice(2,1);

- fjerner index 2
Avatar billede sjh Nybegynder
22. juni 2004 - 14:24 #5
virker .shift() så også eller skal jeg bruge .splice() til NS??
Avatar billede roenving Novice
22. juni 2004 - 14:29 #6
.shift() virker fint i Gecko-browsere (bl.a. Netscape, Mozilla m.fl. !-)
Avatar billede sjh Nybegynder
22. juni 2004 - 14:31 #7
okæææ hvad så med splice()?
Avatar billede ldanielsen Nybegynder
22. juni 2004 - 14:32 #8
Ja, den virker også.
Avatar billede ldanielsen Nybegynder
22. juni 2004 - 14:33 #9
Vil det sige at du ikke selv har Netscape?
Avatar billede sjh Nybegynder
22. juni 2004 - 14:34 #10
nææ skal man ha det :o)
Avatar billede sjh Nybegynder
22. juni 2004 - 14:39 #11
lige en teng mere..

Kan man ikke lave denher beder?? -> if (strLarst < arrChat[i] || strLarst > arrChat[i]) {


        var strLarst = "";
        for (i=0; i<arrChat.length; i++) {
          if (strLarst < arrChat[i] || strLarst > arrChat[i]) {
            strOut += arrChat[i];
          }
          strLarst = arrChat[i];
        }
Avatar billede ldanielsen Nybegynder
22. juni 2004 - 14:44 #12
Ja, hvis man er SÅ interesseret i om koden virker i NS, så er det nok praktisk at have den selv. Eller hvad? :o)

Selv starter jeg næsten kun NS når nogen her på Eksperten spørger som du, "Virker det ...".

I øvrigt bruger jeg en ÆLDGAMMEL JavaScript Reference, så jeg er rimelig sikker på at al kode der står i den virker. Fx. var DHTML et ukendt begreb på det tidspunkt, og Internet Explorer fandtes endnu kun i Version 2.0. Det var tider!
Avatar billede ldanielsen Nybegynder
22. juni 2004 - 14:47 #13
Du spørger om strLarst < arrChat[i] ELLER strLarst > arrChat[i]
er det ikke det samme som at spørge om strLarst er forskellig fra arrChat[i]?

I så fald

if (strLarst != arrChat[i]) strOut += arrChat[i];
Avatar billede sjh Nybegynder
22. juni 2004 - 14:48 #14
ja hvis de bare kunne lave et system til javascript så var det jo ingen sag :D
Avatar billede roenving Novice
22. juni 2004 - 14:49 #15
Måske:

for (i=0; i<arrChat.length; i++) {
  strOut += (strLarst!=arrChat[i])?arrChat[i]:"";
}
Avatar billede sjh Nybegynder
22. juni 2004 - 14:52 #16
Det virker skide fint :-) Tak for hjælpen :-)
Avatar billede ldanielsen Nybegynder
22. juni 2004 - 19:26 #17
Selv tak

if (strLarst <> arrChat[i]) strOut += arrChat[i];

virker ikke i JS, det var nok det der var problemet. JS bruger ! som NOT

roenving > lidt "dirty", ikke? hvorfor sige strOut += "", når det kan spares?
Avatar billede roenving Novice
22. juni 2004 - 19:38 #18
Øeh ...

Hwa ?-)

Du udfører nok et par clockcycles mindre med den konstruktion, end med en almindelig if-sætning, men da en clockcycle er nede i bøkdele af mikrosekunder, betyder det jo nok ikke noget ...
Avatar billede sjh Nybegynder
22. juni 2004 - 22:22 #19
hvad mener du med -> strOut += "",
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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