function minimumDistances(a) { let min; const findOtherIndex = index => { for (let i = index + 1; i < a.length; i++) { if (a[i] === a[index]) { return i; } } return null; } for(let i = 0; i < a.length; i++) { if (findOtherIndex(i)) { if (!min) { min = Math.abs(i - findOtherIndex(i)) } else { if (Math.abs(i - findOtherIndex(i)) < min) { min = Math.abs(i - findOtherIndex(i)) } } } } return min || -1; }