Ciao, come da titolo, devo cercare un valore in un array per evitare di salvare valori doppi e quindi creare un datalist.
La ricerca negli array l'ho realizzata grazie ad un metodo creato e postato sul suo sito da un amico:
[l'utilizzo è semplice, prendi un array e mediante il metodo contains verifica se una data parola è presente nell'array. Es.: mio_array.contains('pippo');codice:// Aggiunge il metodo contains all'elemento Array del Javascript, per verificare se una voce è presente nell'array if(typeof Array.prototype.contains !== 'function') { Array.prototype.contains = function ( needle ) { for (i in this) { if (this[i] == needle) { return true; } } return false; } }
Detto questo nell'array contenente nomi di città già cercati devo inserire un nuovo nome inserito da un utente, sempre che questo non sia già nell'array.
Semplice, ma c'è un problema, ovvero la ricerca all'interno dell'array da parte di contains non prevede nessun controllo sulla forma della stringa, così che "Udine" viene data per esistente anche se all'interno dell'aarry c'è solo "Moggio udinese" che contiene nel nome la parola udine.
Ora per semplicità mi basterebbe modificare il metodo che ho postato sopra che così com'è è semplice e veloce.
Forse usando l'operatore test per verificare, parola per parola contenuta nell'array se determina l'esistenza o meno della stringa cercata.
Voi che suggerimenti mi dareste?