Vinzenz Mai: Weiter Spalte anhängen

Beitrag lesen

Hallo,

function convertAnzahlToObject( anz )

{
            return anz.substr( 17, 3 );
        };

  

> Ok hast recht, könnte man vereinfachter schreiben. Aber ich selbst muss es nachvollziehen können.  
  
Das ist klar. Aber warum das Umkopieren? Wenn Du schon die Rückgabe in einer eigenen Zeile machen willst, warum schreibst Du den Wert nicht gleich in die Variable, die Du zurückgeben willst?  
  
~~~javascript
»         function convertAnzahlToObject( anz )  

>         {  
>             anz = anz.substr( 17, 3 );  
>             // in anz steht nun der gewünschte Teilstring  

»  

>             out_anz = anz;  
>             // dieser wurde in die Variable out_anz umkopiert, ...  

»  

>             return out_anz;  
>             // nur damit der Inhalt dieser Variablen zurückgegeben werden kann  
>         };  

Alternative:

function convertAnzahlToObject( anz )  
{  
    // Halte [ref:self812;javascript/sprache/variablen.htm@title=Variablen so lokal] wie möglich.  
    var out_anz = anz.substr( 17, 3 );  
    return out_anz;  
}  

Was ist "anz"?
Warum ist dies ein Objekt (siehe Funktionsname)?
Woher kommen die magischen Zahlen 17 und 3?

Die „magischen Zahlen“ sind folgende. Die Stellen 1 – 14 sind der eigentliche Hauptteil des Gesamtteiles. Ich habe durch das Auslesen der Exceltabelle die Anzahl an das Gesamtteil drangehangen. Und das Gesamtteil in der Excelliste sieht so aus: A123-45678-000-00 -> insgesamt also 17 Stellen.

a) "Gesamtteil" sagt mir nichts. Welche Bedeutung hat
   A123-45678-000-00xyz
b) Die Variable anz enthält also keine "Anzahl", sondern etwas anderes.
   Benenne den Funktionsparameter entsprechend.

Also muss ich aber der 17. Stelle (da wo die Anzahl drangehangen wurde) die Anzahl auslesen oder? Und da es max. 3 Stellen geben kann (Anzahl max. 999) habe ich ab der 17. Stelle die 3 nachfolgenden Stellen genommen.

c) Die Funktion wandelt *nicht* eine Anzahl in ein Objekt um, sondern
   ermittelt eher eine Anzahl aus einem Ausgangswert.
   Benenne daher die Funktion entsprechend.

Freundliche Grüße

Vinzenz