С
Size: a a a
С
С

Д
С
Д
Д

С
С
С

С

Д
OJ
К
NM
АП
[1, 2, 3, 5,6,7,8, 11, 21, 31,32,33,34, 40, 41] нужно на выходе получить строку в таком формате 1-3, 5-8, 11, 21, 31-34, 40, 41j
АП
j
АП
DM
arr
.reduce((acc, cur) => {
const [from = cur, to = cur - 1] = acc.pop() || [];
if (cur === to+1) {
acc.push([from, cur]);
} else {
acc.push([from, to]);
acc.push([cur, cur]);
}
return acc
}, [])
.map(([from, to]) => from === to ? from : ${from}-${to})
.join(', ')