Hans: mehrere Rückgabewerte

Hallo,

ich benötige eine Funktion mit mehreren Rückgabewerten. Wie kann man das prinzipiell realisieren?

Ich mache es momentan so, dass ich ein Array zurückgebe. Was aber wenn die Funktion einen oder zwei Rückgabewerte haben soll, also z.B.:

a=return_123(); --> a=1
[a,b]=return_123(); --> a=1, b=2

Geht das in JavaScript?

Gruß Hans

  1. Hi,

    Was aber wenn die Funktion einen oder zwei Rückgabewerte haben soll,

    dann ist das entweder ein Array mit einem oder zwei Werten, oder aber *ganz* schlechtes Programmdesign.

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. [latex]Mae  govannen![/latex]

      Was aber wenn die Funktion einen oder zwei Rückgabewerte haben soll,

      dann ist das entweder ein Array mit einem oder zwei Werten, oder aber *ganz* schlechtes Programmdesign.

      Mist. Ich hab bisher immer mit Objekt-Rückgaben gearbeitet, um Index-unabhängig zu bleiben und direkt einen namentlichen Identifier zu haben.

      Cü,

      Kai

      --
      Hard to believe that anyone would use Prototype.js at this
      point. It was a bad idea in 2006 and it hasn't gotten any better with age. (David Mark)
      Foren-Stylesheet Site Selfzeugs
      SelfCode: sh:( fo:| ch:? rl:( br:< n4:( ie:{ mo:| va:) js:| de:> zu:) fl:( ss:| ls:?
    2. dann ist das entweder ein Array mit einem oder zwei Werten

      Quatsch.

      oder aber *ganz* schlechtes Programmdesign.

      Noch größerer Unsinn. Andere Sprachen wie Common Lisp, Python, Ruby und anderen Sprachen haben dafür extra eine Syntax. Nicht mit Arrays, nicht mit Hashes.

      1. Hi,

        Noch größerer Unsinn. Andere Sprachen wie Common Lisp, Python, Ruby und anderen Sprachen haben dafür extra eine Syntax. Nicht mit Arrays, nicht mit Hashes.

        Du meinst einen anderen Datentyp, nämlich Tupel. Wir reden hier davon, dass eine Funktion _verschiedene_ Rückgabetypen liefert - mal einen Wert als Skalar, mal mehrere als Array. Da JavaScript keine Tupel kennt, ist das definitiv extrem schlechtes Programmdesign.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:| br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
  2. Hi,

    ich benötige eine Funktion mit mehreren Rückgabewerten. Wie kann man das prinzipiell realisieren?

    In dem man diese in einem Objekt zurückgibt -

    Ich mache es momentan so, dass ich ein Array zurückgebe.

    • welches bspw. ein Array sein kann.

    Was aber wenn die Funktion einen oder zwei Rückgabewerte haben soll, also z.B.:

    a=return_123(); --> a=1
    [a,b]=return_123(); --> a=1, b=2

    Geht das in JavaScript?

    Nein, nicht ganz so direkt.

    Aber wenn du ein Array zurückgeben lässt und es mit
    a=return_123();
    in Empfangt nimmst - dann kannst du doch über den Bezeichner a auf das Arrays und alle seine Elemente zugreifen.

    Wo liegt dein Problem?

    MfG ChrisB

    --
    Light travels faster than sound - that's why most people appear bright until you hear them speak.