1. /**
  2. * Diffs two datasets of time values.
  3. *
  4. * @param {Array<number>} dataset1 - The first dataset of time values (e.g., timestamps).
  5. * @param {Array<number>} dataset2 - The second dataset of time values.
  6. * @returns {Array<{time: number, diff: number}>} - An array of objects, each containing the time value and the difference between the two datasets.
  7. * Returns an empty array if input datasets are invalid.
  8. */
  9. function diffTimeDatasets(dataset1, dataset2) {
  10. if (!Array.isArray(dataset1) || !Array.isArray(dataset2)) {
  11. return []; // Handle invalid input
  12. }
  13. if (dataset1.length !== dataset2.length) {
  14. return []; // Handle datasets of different lengths
  15. }
  16. const diffs = [];
  17. for (let i = 0; i < dataset1.length; i++) {
  18. const time1 = dataset1[i];
  19. const time2 = dataset2[i];
  20. if (typeof time1 !== 'number' || typeof time2 !== 'number') {
  21. return []; //Handle non-numeric values
  22. }
  23. const diff = time2 - time1;
  24. diffs.push({ time: time1, diff: diff });
  25. }
  26. return diffs;
  27. }

Add your comment