Hey là des génies de SO!Remplacement rapide de chaîne de Javascript
Ceci est pour un plugin de saisie semi-automatique qui doit accepter des données sous la forme d'un tableau de tableaux et le convertir en utilisant une chaîne de format (ou regex). La chaîne de format pourrait être n'importe quel format.
var dataArray = [ ["data1-1", "data1-2", "data1-3"], ["data2-1", "data2-2", "data2-3"],... ];
var format = "<li>{0} <br /> -- <small> {1}, {2}</small></li>";
// alternate formats could be:
// "<li>{0}</li>"
// "<a href="{0}" title="{2}">{1} ({2})</a>"
// etc...
function fillAutocomplete(datum,format){
// do some magic here...
// return "<li>data1-1 <br /> -- <small> data1-2, data1-3</small></li>";
}
L'idée suivante works..but je voudrais voir si quelque chose serait plus rapide ...
var datum = data[0],
html="<li>\{0\} <br /> -- <small> \{1\}, \{2\}</small></li>";
for(var i=0,l=datum.length;i<l;++i){
var reg = new RegExp("\\{"+i+"\\}");
html=html.replace(reg,datum[i]);
}
Je suis ouvert à de nouvelles idées sur la façon d'aborder ce problème.
Ah, je me souviens d'avoir lu ça il y a un moment. Je vais l'essayer plus tard. Merci beaucoup! –
+1. Merci pour cela, je n'avais aucune idée que vous pouviez passer une fonction pour analyser la correspondance actuelle pendant la boucle de remplacement. – Matt
fonctionne à merveille! Merci! Je me demande si le modèle de John Resig sera plus rapide. hm. Je reviendrai à vous tous sur celui-là demain. –