Antworten:
Sie können dies in einfachem JavaScript tun. Verwenden Sie Array.prototype.join
:
arrayName.join(delimiter)
Ich kenne keine bessere jQuery-Funktion.
Array.join
ist das, was Sie brauchen, aber wenn Sie möchten, haben die freundlichen Leute von phpjs.orgimplode
für Sie erstellt.
Dann etwas abweichendes Thema. Wie @jon_darkstar bereits erwähnt hat, ist jQuery JavaScript und nicht umgekehrt. Sie müssen nicht müssen JavaScript kennen , um zu verstehen , wie jQuery verwenden, aber es ist sicherlich nicht schaden , und wenn Sie beginnen Wiederverwertbarkeit zu schätzen oder beginnen auf das größere Bild suchen Sie unbedingt benötigen , es zu lernen.
Wenn Sie zum späteren Nachschlagen das Verhalten von PHPsimplode()
nachahmen möchten, wenn kein Trennzeichen angegeben ist (verbinden Sie die Teile buchstäblich nur miteinander), müssen Sie eine leere Zeichenfolge an Javascript übergeben, da join()
sonst standardmäßig Kommas als Trennzeichen verwendet werden:
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
Mit der Methode join () wird eine neue Zeichenfolge erstellt und zurückgegeben, indem alle Elemente in einem Array verkettet werden.
Arbeitsbeispiel
var arr= ['A','b','C','d',1,'2',3,'4'];
var res= arr.join('; ')
console.log(res);
Wir können eine Alternative zum Implodieren von in Javascript erstellen:
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
Konstruktors anstelle von Literalen ist unnötig ausführlich. Wenn Sie die implodierende Funktion unbedingt neu erstellen möchten, ist es klug, die integrierte Join-Methode mit Ihrer eigenen Funktion zu versehen. Das Klügere ist, die Sprache zu lernen, in der Sie programmieren.
array.join
erkannte nicht ";" wie ein Trennzeichen, aber durch Komma ersetzen. Mit jQuery können Sie $.each
ein Array implodieren (Beachten Sie, dass output_saved_json das Array und tmp die Zeichenfolge ist, in der das implodierte Array gespeichert wird):
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
Ich habe Teilzeichenfolge verwendet, um das letzte ";" im Finale ohne Notwendigkeit hinzugefügt. Wenn Sie es vorziehen, können Sie stattdessen substring
Folgendes verwenden:
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;
Ich denke, diese letzte Lösung ist langsamer als die erste, da jedes Mal überprüft werden muss, ob sich der Index von der Länge des Arrays $.each
unterscheidet, ohne zu enden.
your_array.join(';')