unpack.js 844 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. 'use strict';
  2. var unpack = function (array) {
  3. var findNbSeries = function (array) {
  4. var currentPlotPack;
  5. var length = array.length;
  6. for (var i = 0; i < length; i++) {
  7. currentPlotPack = array[i][1];
  8. if(currentPlotPack !== null) {
  9. return currentPlotPack.length;
  10. }
  11. }
  12. return 0;
  13. };
  14. var i, j;
  15. var nbPlots = array.length;
  16. var nbSeries = findNbSeries(array);
  17. // Prepare unpacked array
  18. var unpackedArray = new Array(nbSeries);
  19. for (i = 0; i < nbSeries; i++) {
  20. unpackedArray[i] = new Array(nbPlots);
  21. }
  22. // Unpack the array
  23. for (i = 0; i < nbPlots; i++) {
  24. var timestamp = array[i][0];
  25. var values = array[i][1];
  26. for (j = 0; j < nbSeries; j++) {
  27. unpackedArray[j][i] = [timestamp * 1000, values === null ? null : values[j]];
  28. }
  29. }
  30. return unpackedArray;
  31. };