function avoidObstacles(nums) {
// write code here.
let clone = [...nums];
clone.sort().reverse();
let max = clone[0];
for (let jump = 1; jump < max; jump++) {
let collision = nums.some(wall => wall % jump == 0);
//let collision = nums.every(wall => wall % jump !== 0) // With every
if(!collision) return jump;
//if(collision) return jump; // With every
}
return `Not found a jump in ${nums}`;
}
/**
* Test Suite
*/
describe('avoidObstacles()', () => {
it('returns minimal number of jumps in between numbers', () => {
// arrange
const nums = [5, 3, 6, 7, 9];
// act
const result = avoidObstacles(nums);
// log
console.log("result: ", result);
// assert
expect(result).toBe(4);
});
});