Visualizzazione dei risultati da 1 a 10 su 10

Discussione: as 2 lettere vicine

  1. #1

    as 2 lettere vicine

    Salve a tutti vorrei chiedervi una cosa che non riesco proprio a fare:

    io ho un array piccolo con un testo di input nel quale posso scrivere
    lo script è questo:

    var arr = ["miao","ciao","ciao 1"];
    Array.prototype.indexOf= function(scrivi) {
    var i = 0;
    var l = this.length;
    var res = -1;
    for (i; i<l; i++) {
    if (this[i] == scrivi) {
    res = i;
    break;
    }
    }
    return res;
    };


    onEnterFrame=function(){
    index = arr.indexOf(scrivi);
    trace(index)
    }

    e qui tutto ok, se io scrivo una lettera e la lettera non cè nell' array mi da -1 se invece scrivo lettere giuste mi indica la posizione della parola nell' array..


    il mio problema è questo io vorrei che il sistema mi desse l' opportunità di visualizzarmi la o le posizioni degli elementi anche se scrivo le lettere centrali cioè

    se scrivo "c", lui mi da errore quindi -1 ma nel mio array ci sono due parole che iniziano per c
    se io scrivo "ia" lui mi da -1 mentre tutte e tre le parole che ho nell'array hanno "ia" scritto vicino
    praticamente mi trova solo la parola campleta

    quindi vorrei che mi riconoscesse anche le lettere vicine

    spero in qualche utile suggerimento

  2. #2
    [/code]
    var arr = ["miao","ciao","ciao 1"];
    Array.prototype.indexOf= function(scrivi) {
    var i = 0;
    var l = this.length;
    var res = -1;
    for (i; i<l; i++) {
    if (this[i].indexOf(scrivi)>=0){
    res = i;
    break;
    }
    }
    return res;
    };


    onEnterFrame=function(){
    index = arr.indexOf("ao");
    trace(index)
    }
    [/code]

    Il problema però è che così ti trova la prima occorrenza di "ao", quindi "miao", ma "ao" sta anche in "ciao" e in "ciao 1"

  3. #3
    ciao Stan, intanto grazie per la risposta

    ma a me con il tuo codice mi traccia solo 0!

    praticamente scrivendo in scrivi "ia" dovrebbe riconoscermi tutte le parole che hanno ia all' interno....

  4. #4
    beh, trova il primo indice in cui comprare "ao", quindi miao, quindi indice 0.

    Cosa dovrebbe trovare? Vuoi che ti trovi TUTTE le occorrenze?

  5. #5
    esatto che mi trovi tutte le parole che contengano ao



    e poi vorrei modificare questo:
    var arr = ["miao","ciao","ciao 1"];

    in questo
    var arr:Array =Array ("miao","ciao","ciao 1");

    ma cosi mi restituisce sempre undefined.....

  6. #6
    l' array l ho messo a posto cosi

    var arr:Array = ["flash 12", "flash", "illustrator", "flash","dreamweaver"];
    Array.prototype.indexOf = function(arr) {
    for (i=0; i<this.length; i++) {
    if (this[i].indexOf(arr)>=0) {
    res = i;
    risultato=this[i]
    //break;
    }
    }
    return res;

    };


    onEnterFrame = function() {
    index = arr.indexOf(scrivi);
    trace(index);

    };

    ora ho bisogno che mi trovi tutte le parole che contengano ao oppure ad esempio se scrivo s mi faccia vedere tutte le parole con s e mano a mano che scrivo le filtra....

    ciao

  7. #7
    Restituisce tutti gli indici trovati (e non le parole)

    codice:
    var arr = ["miao","ciao","ciao 1"];
    
    
    Array.prototype.indexOf= function(scrivi) {
    	var array_indici:Array = new Array()
    	var i = 0;
    	var l = this.length;
    	var res = -1;
    	for (i; i<l; i++) {
    		if (this[i].indexOf(scrivi)>=0){
    			res = i;
    			array_indici.push(i)
    		}
    	}
    	return array_indici;
    };
    
    trace(arr.indexOf("cia"))

  8. #8
    grazie mille

    io ero arrivato cosi

    arr.indexOf = function(arr) {
    var ris=""
    for (i=0; i<this.length; i++) {
    if (this[i].indexOf(arr)>=0) {
    res = i;
    ris = ris+this[i]
    trace("trovato "+i)


    }
    }
    risultato=(ris)

    };


    grazie

  9. #9
    altro piccolo dubbio

    se io ho un array del genere:

    var arr:Array =["ciao", "ciao con preload", "flash"]

    e voglio che scrivendo in un testo di input "ciao pre" ad esempio
    lui non me lo trova poichè dovrei scrivere ad esempio "ciao con pre"

    come posso fare per trovare il risultato nell' array anche se scrivo solo ad esempio "ciao pre"?

    lo so, son pesante ma cè sempre un problema nuovo eheheheh

    intanto grazie ancora per la disponibilità

    ciao

  10. #10
    Si complica un po', la prima cosa che mi viene in mente è splittare le parole da cercare sullo spazio e controllare che tutte siano trovate (una alla volta) nella stringa che ti interessa. È da provare.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.