У меня есть объект массивов, каждое значение в объекте является массивом из нескольких последовательностей чисел.
Я хочу удалить те последовательности, число которых меньше 10.
В данном входе 0-е значения имеют 3 последовательности, от 2 до 4 - не более 10 порядковых номеров, поэтому мы должны удалить их, а количество оставшихся 2 последовательностей - более 10.
Я добавил пробел в приведенном ниже входе только для справки, чтобы вы могли видеть разрыв последовательности в этом массиве, найти счет этой последовательности, если счет меньше 10, то удалите эту последовательность.
ВХОД:
{ '0': [ 2, 3, 4, 7, 8, 9, 10,11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25,26,27,28,29,30,31,32 ],
'3': [ 0, 1,2,3,4,5,6,7,8,9,10,11,12,13, 15,16,17,18,22,23,24 ] }
ВЫХОД:
{
'0': [7, 8, 9, 10, 11,12, 13, 14, 15, 16, 17, 18, 19, 20, 22, 23, 24, 25,26,27,28,29,30,31,32],
'3': [ 0,1,2,3,4,5,6,7,8,9,10,11,12,13]
Я не могу завершить логику
for (var key in emptyMap) {
let count = [];
let initialVal = emptyMap(key)[0];
removeEmptyMap[key] = [];
for (let i = 1; i < emptyMap(key).length; i++) {
if ((emptyMap(key)[i] === initialVal + 1)) {
count[key].push(emptyMap(key)[i])
} else if (count.pop() < 10) {
initialVal = emptyMap(key)[i];
} else {
initialVal = emptyMap(key)[i];
}
}
console.log()
}