379 messaggi dal 06 settembre 2002
www.andytimes.com
Ciao, sono arenato su un banale javascript!! Esiste un corrispondente della funzione VBScript filter in JS che mi permetta di eliminare da un array una "riga" che contenga parte di un testo?? Grazie in anticipo...

..:: and this is my web ::..
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao andy!!
il javascript ha un ventaglio di metodi utili per eliminare degli elementi da un array.

(ti riporto ciò che dice la guida)

myarray.pop()
elimina l'ultimo elemento dell'array e restituisce quell'elemento

myarray.shift()
elimina il primo elemento dell'array e restituisce quell'elemento

myarray.splice(startPos, count, newElem)
aggiunge/rimuove degli elementi dall'array. Qui trovi un esempio più esplicativo di come funziona la cosa... ciaoo
http://www.devguru.com/Technologies/ecmascript/quickref/splice.html

Enjoy learning and just keep making
379 messaggi dal 06 settembre 2002
www.andytimes.com
Ma grande!!! la sapevo, posso sempre contare su dite!!! ma la cosa è un po più complessa... Filter di VBScript ti filtra l'array eliminando (oppure considerando) una corrispondenza passata...es:
nuovoarray=filter(vecchioarray,"an",false)
il risultato è una matrice con solo le "righe" che non contengono "an"...
nuovoarray=filter(vecchioarray,"an",true)
il risultato è una matrice con solo le "righe" che contengono "an"...
quello che cercavo era una cosetta del genere.. . che funga sia per IE che per netscape... boh mi sa che devo costruirmela... con un ciclo??? accetto buoni consigli (il mio JS è un po' arrugginito)

..:: and this is my web ::..
11.886 messaggi dal 09 febbraio 2002
Contributi
Ciao di nuovo :)
ahhh l'ho vista solo ora la funzione filter(), pensavo che servisse ad eliminare degli elementi invece fa una ricerca di una stringa all'interno dell'array... pardon avevo interpretato male.


boh mi sa che devo costruirmela... con un ciclo???


si, puoi costruire una funzione uguale a quella del vbscript che accetti gli stessi parametri:

<script language="Javascript">
function filter(array_in, stringa, include){
if (include == null) include = true
if (stringa == null) stringa = ""
risultato = new Array()
for (h=0;h<array_in.length;h++){
if (!(array_in[h].toLowerCase().indexOf(stringa.toLowerCase()) != -1 ^ include)) risultato.push(array_in[h])
}
return risultato
}
</script>

l' "include" (booleano) e la stringa da cercare sono opzionali, mentre l'array è un parametro obbligatorio. Ti restituisce un sottoinsieme dell'array di partenza che contiene o non contiene (dipende dall'include) la stringa che gli hai passato.


Modificato da BrightSoul il 23 aprile 2003 03.39 -

Enjoy learning and just keep making
379 messaggi dal 06 settembre 2002
www.andytimes.com
Grazie!!!

..:: and this is my web ::..

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.