2016-06-16 4 views
-1

Meine Stammdaten ..Transforming js Array, so dass ein numerischer Wert hinzugefügt wird

[{ 
     month: 'Jan', 
     cat: 'A', 
     val: 20 
    },{ 
     month: 'Jan', 
     cat: 'B',' 
     val: 5 
    },{ 
     month: 'Jan', 
     cat: 'C', 
     val: 10 
    },{ 
     month: 'Feb', 
     cat: 'A', 
     val: 30 
    },{ 
     month: 'Feb', 
     cat: 'B', 
     val: 10 
    },{ 
     month: 'Feb', 
     cat: 'C', 
     val: 20 
    }]; 

Ich möchte es zu folgendem Format verwandeln ..

[{ 
      dim:'val' 
     x: 'Jan', 
      nval: 20 //same as base object val 
     },{ 
      dim:'val' 
      x: 'Jan', 
      nval: 25// 20+5 -> above nval value + base object val 
     },{ 
      dim:'val' 
      x: 'Jan', 
      nval: 35//25+10 
     },{ 
      dim:'val' 
      x: 'Feb', 
      val: 65//35+30 
     },{ 
      dim:'val' 
      x: 'Feb', 
      nval: 75 
     },{ 
      dim:'val' 
      x: 'Feb', 
      nval: 95 
     }]; 

Above js Array hat eine Eigenschaft dim, das einen festen Wert 'val' hat, die Eigenschaft x hat den gleichen Wert des Monats des Basisobjekts. Die Eigenschaft nval ist so, dass die Eigenschaft im ersten Objekt des Arrays den gleichen Wert des Basisobjekts val hat. Danach wird das val-Objekt des Basisobjekts zu nval des vorherigen Objekts im neuen Array hinzugefügt.

Ich hoffe, dass ich in der Lage gewesen, zu erklären, was ich brauche .. bitte fragen, wenn Sie irgendwelche Zweifel/Fragen haben ..

Der neue JavaScript-Array soll ich in der Lage sein, mit Karte zu erstellen, aber wie kann ich erstellen die nval von val ..

Jede Hilfe sehr zu begrüßen ist ..

Dank

+0

Was haben Sie versucht? – nicael

Antwort

0

Hope this Ihnen helfen.

var newObject=[]; 
 
var tempDate=0; 
 
var base =[{ 
 
     month: 'Jan', 
 
     cat: 'A', 
 
     val: 20 
 
    },{ 
 
     month: 'Jan', 
 
     cat: 'B', 
 
     val: 5 
 
    },{ 
 
     month: 'Jan', 
 
     cat: 'C', 
 
     val: 10 
 
    },{ 
 
     month: 'Feb', 
 
     cat: 'A', 
 
     val: 30 
 
    },{ 
 
     month: 'Feb', 
 
     cat: 'B', 
 
     val: 10 
 
    },{ 
 
     month: 'Feb', 
 
     cat: 'C', 
 
     val: 20 
 
    }]; 
 

 
for(var prop in base) 
 
{ 
 
    newObject.push({ 
 
    'dim':'val', 
 
    'x':base[prop]['month'], 
 
    'nval':tempDate + base[prop]['val'] 
 
    }); 
 
    tempDate=tempDate + base[prop]['val']; 
 
} 
 

 
console.log(newObject);

Verwandte Themen