How to calculate total time between a list of entries?



Let’s say, we have an array that contains some data about the speed of a motor boat during upstreams and downstreams like this −

Following is our sample array −

const arr = [{    direction: 'upstream',    velocity: 45 }, {    direction: 'downstream',    velocity: 15 }, {    direction: 'downstream',    velocity: 50 }, {    direction: 'upstream',    velocity: 35 }, {    direction: 'downstream',    velocity: 25 }, {    direction: 'upstream',    velocity: 40 }, {    direction: 'upstream',    velocity: 37.5 }]

We are required to write a function that takes in such type of array and finds the net velocity (i.e., velocity during upstream - velocity during downstream) of the boat during the whole course.

So, let’s write a function findNetVelocity(), iterate over the objects and calculate the net velocity. The full code for this function will be −

Example

const arr = [{    direction: 'upstream',    velocity: 45 }, {    direction: 'downstream',    velocity: 15 }, {    direction: 'downstream',    velocity: 50 }, {    direction: 'upstream',    velocity: 35 }, {    direction: 'downstream',    velocity: 25 }, {    direction: 'upstream',    velocity: 40 }, {    direction: 'upstream',    velocity: 37.5 }]; const findNetVelocity = (arr) => {    const netVelocity = arr.reduce((acc, val) => {       const { direction, velocity } = val;       if(direction === 'upstream'){          return acc + velocity;       }else{          return acc - velocity;       };    }, 0);    return netVelocity; }; console.log(findNetVelocity(arr));

Output

The output in the console will be −

67.5
Updated on: 2020-08-20T06:32:12+05:30

185 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements