Advertisement
Guest User

Untitled

a guest
May 17th, 2023
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function makePairs(readings){
  2.   sortReadingsById(readings); //todo
  3.  
  4.   let setOfUsedIds = new Set();
  5.   let listOfPairs = [];
  6.  
  7.   //todo, you determine if simply moving left to right is acceptable
  8.   //or if you need a better heuristic for pairing
  9.   //rather than just "use my nearest sorted neighbor"
  10.   for (let i = 0; i < readings.length; i++){
  11.     //todo: handle edge cases, odd even length....
  12.     let pair = makePair(readings[i], readings[i+1]);
  13.     setOfUsedIds.add(readings[i].id);
  14.     setOfUsedIds.add(readings[i+1].id);
  15.     ++i; //since we used two ids
  16.     listOfPairs.push(pair);
  17.   }
  18.   return listOfPairs;
  19. }
  20.  
  21. function makePair(r1, r2){
  22.   //todo, check if pair ids are too far away? (i.e not caught by prev sorting)
  23.   let pair = {};
  24.   pair.r1 = r1.id;
  25.   pair.r2 = r2.id;
  26.   pair.pairing = `${r1.id, r2.id}`;
  27.   pair.average = averageOf(r1.reading, r2.reading);
  28.   return pair;
  29. }
  30.  
  31. function averageOf(r1, r2){
  32.   return (r1.reading + r2.reading) / 2;
  33. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement