Я хочу показать числа, которые не отображаются в массиве в диапазонах, массив содержит числа в диапазоне от 1 до 128.
например для массива [87,89,90,91,92,93,94,95,96,97,99]
Я хочу напечатать 1-86, 88, 98, 100-128
Я написал функцию, которая работает только когда естьнет цифр в середине первого неиспользованного числа и последнего
function PrintPorts(ports) {
var portString = "";
var open = true;
let index = 1
for (; index < 129; index++) {
for (let j = 0; j < ports.length; j++) {
if (index == ports[j]) {
open = false;
break;
} else
open = true;
}
if (open) {
portString += index;
break;
}
}
for (; index < 129; index++) {
for (let j = 0; j < ports.length; j++) {
if (index == ports[j]) {
open = false;
break;
} else
open = true;
}
if (!open) {
portString += "-" + (index - 1) + ",";
}
}
if (index == 129 && open) portString += "-" + (index - 1);
return portString;
}
console.log(PrintPorts([87,89,90,91,92,93,94,95,96,97,99]));
это результат 1-86, -88, -89, -90, -91, -92, -93, -94, -95, -96,-98, -128 для примера массива
, когда мне нужно 1-86, 88, 98, 100-128
, любая помощь приветствуется