Есть массив,числа это типа номера маршруток на данном улице.Числа идут только на возрастание и по порядку.
[1,3,4,5,6,8,10,12,13,14,17]
Нужно чтобы те числа которые последовательны друг другу по 1 -
(3,4,5,6)(12,13,14)
были написаны таким образом -
(3-6)(12-14)
И в итоге получать такой String -
1,3-6,8,10,12-14,17
Еще примеры массивов -
[10,11,12] 10-12
[1,2,3,4,5,9] 1-5,9
У меня неполноценный код.
function solution(x) {
let y = [];
let min;
let max;
for (var i = 0; i < x.length; i++) {
if (x[i] - x[i - 1] == 1) {
y.push(x[i])
}
}
y.unshift(y[0] - 1);
min = y[0];
max = y[y.length - 1];
y = [min, max];
y = y.toString().split(",").join("-");
return y
}
console.log(solution([1, 3, 4, 5, 6, 8])) //3-6
console.log(solution([1, 3, 4, 5, 6, 8, 10, 11, 12])) //3-12