Прежде чем упрощать, следует исправить - тот код, что есть, выдаёт некорректные результаты, если среди элементов массива есть
0
(например, для
[ -1, 0, 0.1, 2 ]
выдаёт
2
вместо
0.1
). В первой части условия следует вместо предыдущего элемента массива смотреть индекс текущего - единственным неподходящим является нулевой.
Если планируете получать единственное значение, то фильтрация плюс извлечение нулевого элемента результата избыточны - хватит метода
find
. Для подмены
undefined
на
null
вообще не нужно никаких проверок делать - с этим справится nullish coalescing. Так что вот:
const firstNonConsecutive = arr => arr.find((n, i, a) => i && a[i - 1] !== n - 1) ?? null;