Ce code doit être intégré dans un système de chat AJAX pour permettre l'achèvement de l'auto-onglet des noms d'utilisateur:Y a-t-il un moyen de rendre ce script d'achèvement de tabulation JavaScript plus efficace?
var usernames = new Array();
usernames[0] = "Saladin";
usernames[1] = "Jyllaby";
usernames[2] = "CadaverKindler";
usernames[3] = "qbsuperstar03";
var text = "Text and something else q";
// Start of the script to be imported
var searchTerm = text.slice(text.lastIndexOf(" ") + 1);
var i;
for(i = 0; i < usernames.length && usernames[i].substr(0,searchTerm.length) != searchTerm; i++);
// End of the script to be imported
document.write(usernames[i]);
Quelques notes à effectuer: Le tableau de noms d'utilisateur et la variable texte seraient tous les deux chargé à partir du chat lui-même via AJAX (que, malheureusement, je ne sais pas), et la sortie finale sera également traitée par AJAX.
Existe-t-il un moyen plus efficace de le faire?
En outre, des conseils sur la façon de gérer plusieurs instances de searchTerm sont-ils trouvés?
Si searchTerm est, par exemple, 'var' et il y a deux noms d'utilisateurs commençant par 'var' - Varsity et Variety, disons ... Dans la situation de chat, vous pouvez vouloir le second résultat, mais pour le moment il ne choisit que le premier qu'il trouve. –
Utilisez un tableau JavaScript et ajoutez chaque utilisateur correspondant. Si l'utilisateur veut voir tous les résultats correspondants, vous les avez tous déjà. Si vous voulez juste montrer le premier ou le dernier résultat, vous pouvez l'obtenir à partir du tableau grâce à l'indexation. Voir http://www.hunlock.com/blogs/Mastering_Javascript_Arrays pour plus de détails. –