MB: Literale in for-schleifen

Guten abend liebe Community,

ich habe mit literale gearbeiten und als rückgabe wert eine funktion das literal ausgegeben. Ich habe deshalb das literal gewält weil da ne menge werte paare sind und die übersicht hättet gefehlt wenn ich das nummerisches array verwendet hätte. leider kann man die literal-Werte nicht in eine FOR-Schleiffe packen und mit den werten des wertepaares rechnen :/. Mit arrays aber klappts. Ich habe mir zwei array aus dem literal erstellt, so hat man nicht die ganze übersicht verloren aber es ist aber doch umständlicher und es fehl an übersicht :/.

Gibt es die möglichkeit es besser mit literalen hinzubekommen?

Liebe Grüße, MB

  1. Hey,

    leider kann man die literal-Werte nicht in eine FOR-Schleiffe packen und mit den werten des wertepaares rechnen :/. Mit arrays aber klappts. Ich habe mir zwei array aus dem literal erstellt, so hat man nicht die ganze übersicht verloren aber es ist aber doch umständlicher und es fehl an übersicht

    Ich kann dir leider nicht ganz folgen. Zeig uns doch einmal, wie eines dieser von dir erzeugten Literale aussieht und womit du dort rechnen willst.

    Reinhard

    1. Hallo Reinhard,

      Ich kann dir leider nicht ganz folgen. Zeig uns doch einmal, wie eines dieser von dir erzeugten Literale aussieht und womit du dort rechnen willst.

      ok gern. Programmausschnitt:

      hier habe ich aus dem literal zwei arrays gemacht eben point[], und extent[] und in ein weiteres array als übergabewert zusammengefasst. es geht auch anders ist mir bewusst aber ich hab gelesen das das it älteren browser komplikationen gibt. ich fahr gnz gut damit

      //// space configuration ////
      function getSpace( point1, point2 ) {
        
        var point = [
          0,
          ...
        ];
        var extent = [
          parseInt( this.display* point2 ),
          ...
        ];
        var o = [point, extent];
        return o;
      } 
      

      hier wird das Array übergeben

      function setElements( o ) {
      
        var point  = o[0];
        var extent = o[1];
      		
        if (that.dir == "horizon") {
          child1.style.left  = point[0]  + "px";
          child1.style.width = extent[0] + "px";
          ...
        }
      }
      
      

      und die differenz zwei erzeugter objekte o mit for-schleife errechnet

      function slide(obj2, obj1, ms) {
      
        var startP = obj1[0];
        var startE = obj1[1];
      	
        var endP   = obj2[0];
        var endE   = obj2[1];
      	
        var contain= start
        var distance= [];
      
        for (...) { ... }
        return difference;
      }
      

      hilft das dir weiter?

      Gruß MB

  2. Lieber MB,

    leider kann man die literal-Werte nicht in eine FOR-Schleiffe packen

    aber in eine for-in-Schleife.

    Liebe Grüße,

    Felix Riesterer.

    1. aber in eine for-in-Schleife.

      ach ja, stimmt. man sieht den wald vor lauter bäumen nicht. Ich dank dir. sehr peinlich für mich.

      1. Warum musst du ober das Objekt iterieren?
        Entweder hast du { points: [...,...], extends: [...,...] }, oder besser [{point: ..., extend: ...}].
        In beiden fällen sind die Keys bekannt.