function getRange(start, stop){
let foundValues = [];
if (start >== stop) return [start];
for(let [key, value] of map.entries()){
if (key > start && key < stop) {
foundValues.push(key);
} else {
return foundValues;
}
}
return foundValues;
}
Вам просто нужно вернуть массив, когда время записи на карте выходит за пределы указанного диапазона (начало и конец), и это остановит итерацию.
function getRange(start, stop) {
const currentArray = Array.from(map);
let foundValues = [];
let currentMap = currentArray.shift();
while (currentMap[0] > start && currentMap[0] < stop && currentArray.length) {
foundValues.push(currentMap[1]);
currentMap = currentArray.shift();
}
return foundValues;
}
Использование whileцикл, это не будет повторять все элементы на карте.Это будет работать только тогда, когда карта уже отсортирована.