Ein Array mit JavaScript implodieren?

Lesezeit: 3 Minuten

Benutzer-Avatar
Omega

Kann ich ein Array in jQuery wie in PHP implodieren?

Benutzer-Avatar
jon_darkstar

Sie können dies in einfachem JavaScript verwenden Array.prototype.join:

arrayName.join(delimiter);

  • Kann ein Moderator diese Antwort akzeptieren oder irgendwie nach oben bringen? Ich habe diese Antwort beim ersten Lesen verpasst.

    – ImmerEindrücken

    1. März 2014 um 2:40 Uhr

So was:

[1,2,3,4].join('; ')

Benutzer-Avatar
nikc.org

Array.join ist was man braucht, aber wer mag, kommt auf die freundlichen Menschen an phpjs.org geschaffen haben implode für dich.

Dann etwas Off-Topic-Rantieren. Wie @jon_darkstar bereits betont hat, ist jQuery JavaScript und nicht umgekehrt. Du nicht brauchen JavaScript zu kennen, um zu verstehen, wie man jQuery verwendet, aber es schadet sicherlich nicht, und sobald Sie beginnen, die Wiederverwendbarkeit zu schätzen oder das Gesamtbild zu betrachten, müssen Sie es unbedingt lernen.

  • Andererseits IST Javascript mein Lieblings-jQuery-Plugin 😉

    – jon_darkstar

    3. Mai 2012 um 17:59 Uhr

  • Dieser Kommentar ist gut gealtert

    – AlexioVay

    14. Oktober 2021 um 9:23 Uhr

Zum späteren Nachschlagen, wenn Sie das Verhalten von nachahmen möchten PHPs implode() Wenn kein Trennzeichen angegeben (buchstäblich nur die Teile zusammenfügen), müssen Sie eine leere Zeichenfolge an Javascript übergeben join() Andernfalls werden standardmäßig Kommas als Trennzeichen verwendet:

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

Benutzer-Avatar
Deepu Reghunath

Verwenden beitreten() -Methode erstellt eine neue Zeichenfolge und gibt sie zurück, 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);

Benutzer-Avatar
Vijay Verma

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);

Benutzer-Avatar
eduardomozart

array.join wurde “;” nicht erkannt wie ein Trennzeichen, aber durch Komma ersetzen. Mit jQuery können Sie verwenden $.each um ein Array zu implodieren (Beachten Sie, dass output_saved_json das Array und tmp die Zeichenfolge ist, die das implodierte Array speichert):

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 die Teilzeichenfolge verwendet, um das letzte “;” zu entfernen. im Finale ohne Notwendigkeit hinzugefügt. Aber wenn Sie es vorziehen, können Sie stattdessen verwenden substring etwas wie:

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, weil sie jedes Mal prüfen muss, ob der Index anders ist als die Länge des Arrays $.each nicht enden.

  • Wenn Sie ein ‘,’ anstelle eines ‘;’ Sie haben vergessen, das Trennzeichen an die Join-Methode zu übergeben. Versuchen your_array.join(';')

    – Mikerobi

    17. April 2013 um 14:40 Uhr


  • Ich habe es damals versucht, aber es hat im IE nicht funktioniert (ich erinnere mich nicht mehr genau an die Version, aber ich glaube, das war IE6). Ich musste es in dieser Zeit unterstützen (Enterprise-App …). In neueren Browsern macht Ihr Hinweis wahrscheinlich Sinn. Danke für den Hinweis Mike und danke für die Ablehnung, BEVOR ich frage, WARUM ich diese Methode verwendet habe.

    – eduardomozart

    22. April 2013 um 16:26 Uhr


  • Der Join-Parameter funktioniert in IE 4, 5, 5.5, 6+. Ich habe vielleicht nicht in IE3 gearbeitet, aber ich kann meine Kopie nicht dazu bringen, JavaScript auszuführen, also kann ich nicht testen.

    – Mikerobi

    22. April 2013 um 18:06 Uhr


  • Ja es funktioniert. Aber nicht mit “;”. Es verbindet aber ersetzt “;” mit “,”, zumindest auf Server 2003.

    – eduardomozart

    20. Mai 2013 um 15:36 Uhr

1313630cookie-checkEin Array mit JavaScript implodieren?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy