Funkcja generująca liczby większe i mniejsze od zadanej

Funkcja generująca liczby większe i mniejsze od zadanej
0

Dzień dobry,
Dziś stanęłam przed zadaniem napisania funkcji do generowania liczb większych oraz mniejszych od zadanej i zastanawiam się jak podejść do tematu. Czy mogła być Was prosić o pomoc? Samo zadanie wygląda następująco. Mam liczbę (jako parametr wejściowy do funkcji) np 100. Teraz zadaniem funkcji jest wygenerowanie jednej listy licz które będą o X większe o 100 oraz od Y mniejsze od 100. X i Y to też są moje parametry które podaję na wejściu do funkcji. Załóżmy że moje X = 4, Y = 5. Wynikiem działania funkcji ma być posortowana lista z wartościami: 96, 97, 98, 99, 100, 101, 102, 103, 104, 105. Mogła bym Was prosić o pomoc w znalezieniu rozwiązanie tego problemu? Kod spróbuję sama sobie na pisać i podeślę do weryfikacji poprawności :). Z góry ślicznie dziękuję.

lion137
Jeśli masz w js taka funkcję jak range z pythona czy clojure, to chyba nie powinno być problemu: range(100 - Y, 100+1) concat range(100 + 1, 100+1 + X), gdzie range(start, end) zwraca listę [start, end - 1]
DE
  • Rejestracja:ponad 9 lat
  • Ostatnio:11 miesięcy
  • Postów:1788
0
Kopiuj
const fn = (x, y, z) => [
  ...(new Array(x)).fill().map(() => z - x--),
  z,
  ...(new Array(y)).fill().map(() => z + y--).sort()
];
edytowany 1x, ostatnio: Desu
Maciej Cąderek
Maciej Cąderek
  • Rejestracja:ponad 9 lat
  • Ostatnio:ponad 3 lata
  • Lokalizacja:Warszawa
  • Postów:1264
1

Albo krócej i wydajniej:

Kopiuj
const fn = (x, y, z, start = z - x) => new Array(x + y + 1).fill().map(() => start++)
edytowany 1x, ostatnio: Maciej Cąderek
DE
Nie ma to jak default parameters

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.