2 Array' miteinander Verknüpfen und wieder trennen

  • Hallo


    Ich habe in einer Funktion zwei Arrays kreiert. Diese möchte ich über return an eine dritte Variable für eine andere Funktion übergeben.

    So möchte ich erreichen, dass ich 2 Variable über ein return weitergen kann.


    Nach der Übergabe möchte ich die beiden ursprünglichen Arrays wieder erstellen.


    Ich habe es versucht mit var3 = array1.push(array2)


    und dann

    var31 = var3.slice(0,4)

    var32 = var3.slic(4,9)


    Es funktioniert nicht. UNDEFINED


    Es muss an dem push liegen. Obwohl beim console.log die var3 wie gewünscht aussieht, passiert irgendwo im tieferen Inneren von Javascript etwas mit var3.


    Kann ich es nur lösen indem ich var3 über eine Laufanweisung mit Array1 und Array2 fülle und später über slice trenne?.


    LG


    Jochen

  • Ich empfehle, die Arrays in einem Objekt zu übergeben, etwa so:

    Code
    1. var arr1 = // Hier wird das erste Array erzeugt
    2. var arr2 = // Hier wird das zweite Array erzeugt
    3. return {narr1: arr1, narr2, arr2};

    Und dann auspacken:

    Code
    1. var botharrays = thefunction();
    2. var arr1 = botharrays.narr1;
    3. var arr2 = botharrays.narr2;
  • Danke, aber es funktioniert nicht.


    return {narr1: arr1, narr2, arr2};


    da habe ich hinter narr2 ein : statt Komma gesetzt.


    Aber es wird thefunction angemeckert.

    ReferenceError: thefunction is not defined

  • Ich wollte dir nur die grobe Richtung zeigen. Ja, da war noch ein Fehler drin und deine Korrektur ist richtig. Mit thefunction meine ich die Funktion, von der Du im Eingangsposting geschrieben hast. Die musst Du natürlich selber definieren.

  • Danke. Nachdem ich mich über

    JavaScript Object Literal

    informiert habe, habe es begriffen.. Es funktioniert einwandfrei.


    Vielen Dank für diesen sehr interessanten Tip