Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function makePairs(readings){
- sortReadingsById(readings); //todo
- let setOfUsedIds = new Set();
- let listOfPairs = [];
- //todo, you determine if simply moving left to right is acceptable
- //or if you need a better heuristic for pairing
- //rather than just "use my nearest sorted neighbor"
- for (let i = 0; i < readings.length; i++){
- //todo: handle edge cases, odd even length....
- let pair = makePair(readings[i], readings[i+1]);
- setOfUsedIds.add(readings[i].id);
- setOfUsedIds.add(readings[i+1].id);
- ++i; //since we used two ids
- listOfPairs.push(pair);
- }
- return listOfPairs;
- }
- function makePair(r1, r2){
- //todo, check if pair ids are too far away? (i.e not caught by prev sorting)
- let pair = {};
- pair.r1 = r1.id;
- pair.r2 = r2.id;
- pair.pairing = `${r1.id, r2.id}`;
- pair.average = averageOf(r1.reading, r2.reading);
- return pair;
- }
- function averageOf(r1, r2){
- return (r1.reading + r2.reading) / 2;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement