-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
hw25 Closures. Done, similar to HW24 additional task
- Loading branch information
eduard.poteshnov
committed
Dec 15, 2021
1 parent
1b1481e
commit 9949d9c
Showing
2 changed files
with
37 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,12 @@ | ||
<!DOCTYPE html> | ||
<html lang="en"> | ||
<head> | ||
<meta charset="UTF-8"> | ||
<title>Dos4itay do sta</title> | ||
</head> | ||
<body> | ||
|
||
<script src="scripts/scripts.js"></script> | ||
|
||
</body> | ||
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
//Сделайте функцию, каждый вызов который будет генерировать случайные числа от 1 до 100, | ||
// но так, чтобы они не повторялись, пока не будут перебраны все числа из этого промежутка. | ||
// Решите задачу через замыкания - в замыкании должен хранится массив чисел, которые уже были сгенерированы функцией. | ||
|
||
function getRandomGenerator() { | ||
const maxDiapason = 100; | ||
let arr = []; | ||
|
||
function fillArray(maxDiapason) { | ||
const result = []; | ||
for(let i = 0; i < maxDiapason; i++){ | ||
result.push(i+1); | ||
} | ||
return result; | ||
} | ||
|
||
return function getNumber() { | ||
if (arr.length < 1) { | ||
arr = arr.concat(fillArray(maxDiapason)); | ||
} | ||
return arr.splice(Math.round(Math.random() * arr.length - 1), 1)[0]; | ||
} | ||
} | ||
|
||
const rndGenerator = getRandomGenerator(); //искомая функция. При вызове rndGenerator() вернеться случайное значение из массива |