-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFind the first non-consecutive number.js
27 lines (19 loc) · 1.14 KB
/
Find the first non-consecutive number.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Your task is to find the first element of an array that is not consecutive.
// By not consecutive we mean not exactly 1 larger than the previous element of the array.
// E.g. If we have an array [1,2,3,4,6,7,8] then 1 then 2 then 3 then 4 are all consecutive but 6 is not, so that's the first non-consecutive number.
// If the whole array is consecutive then return null2.
// The array will always have at least 2 elements1 and all elements will be numbers. The numbers will also all be unique and in ascending order. The numbers could be positive or negative and the first non-consecutive could be either too!
// 1 Can you write a solution that will return null2 for both [] and [ x ] though? (This is an empty array and one with a single number and is not tested for, but you can write your own example test. )
function firstNonConsecutive (arr) {
let first = arr[0];
for(let i = 1; i < arr.length; i++) {
if(first - arr[i] === -1) {
first = arr[i];
} else if(first - arr[i] !== -1) {
return arr[i]
}
}
if(first === arr[arr.length-1] || arr.length === 1 || !arr) {
return null
}
}