Réponses:
Vous pouvez le faire en JavaScript simple, utilisez Array.prototype.join
:
arrayName.join(delimiter)
Je ne connais aucune fonction jQuery qui soit meilleure.
Array.join
est ce dont vous avez besoin, mais si vous le souhaitez, les gens sympathiques de phpjs.org ont créé implode
pour vous.
Puis quelques délires légèrement hors sujet. Comme l'a souligné @jon_darkstar alreadt, jQuery est JavaScript et non l'inverse. Vous n'avez pas besoin de connaître JavaScript pour comprendre comment utiliser jQuery, mais cela ne fait certainement pas de mal et une fois que vous commencez à apprécier la réutilisabilité ou à regarder la vue d'ensemble, vous devez absolument l'apprendre.
Pour référence future, si vous souhaitez imiter le comportement de PHP implode()
quand aucun délimiteur n'est spécifié (littéralement simplement joindre les morceaux ensemble), vous devez passer une chaîne vide dans Javascript join()
sinon il utilise par défaut des virgules comme délimiteurs:
var bits = ['H', 'e', 'l', 'l', 'o', ' ', 'W', 'o', 'r', 'l', 'd'];
alert(bits.join()); // H,e,l,l,o, ,W,o,r,l,d
alert(bits.join('')); // Hello World
La méthode use join () crée et renvoie une nouvelle chaîne en concaténant tous les éléments d'un tableau.
Exemple de travail
var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);
Nous pouvons créer une alternative à imploser en javascript:
function my_implode_js(separator,array){
var temp = '';
for(var i=0;i<array.length;i++){
temp += array[i]
if(i!=array.length-1){
temp += separator ;
}
}//end of the for loop
return temp;
}//end of the function
var array = new Array("One", "Two", "Three");
var str = my_implode_js('-',array);
alert(str);
Array
constructeur au lieu de littéraux est inutilement verbeuse. Si vous êtes désespéré de recréer la fonction imploser, la chose intelligente serait d'envelopper la méthode de jointure intégrée avec votre propre fonction. La chose la plus intelligente est d'apprendre la langue dans laquelle vous programmez.
array.join
ne reconnaissait pas ";" comment un séparateur, mais en le remplaçant par une virgule. En utilisant jQuery, vous pouvez utiliser $.each
pour imploser un tableau (Notez que output_saved_json est le tableau et tmp est la chaîne qui stockera le tableau implosé):
var tmp = "";
$.each(output_saved_json, function(index,value) {
tmp = tmp + output_saved_json[index] + ";";
});
output_saved_json = tmp.substring(0,tmp.length - 1); // remove last ";" added
J'ai utilisé une sous-chaîne pour supprimer le dernier ";" ajouté à la finale sans nécessité. Mais si vous préférez, vous pouvez utiliser à la place substring
quelque chose comme:
var tmp = "";
$.each(output_saved_json, function(index,value) {
tmp = tmp + output_saved_json[index];
if((index + 1) != output_saved_json.length) {
tmp = tmp + ";";
}
});
output_saved_json = tmp;
Je pense que cette dernière solution est plus lente que la 1ère car elle doit vérifier si l'index est différent de la longueur du tableau à chaque fois $.each
sans se terminer.
your_array.join(';')