Показать сообщение отдельно
  #3 (permalink)  
Старый 16.05.2019, 23:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

DarkPhoenix,
const makeRandomFn = (...a) => (a = [].concat(...a), () => a[Math.random() * a.length|0]);
const getRandomNumber = makeRandomFn([1, 2, 100, 34, 45, 556, 33])
console.log(getRandomNumber());
console.log(getRandomNumber());
console.log(getRandomNumber());

const makeRandomFn = (...a) => (a = [].concat(...a), () => a[Math.random() * a.length|0]);
const getRandomNumber = makeRandomFn(1, 2, 100, 34, 45, 556, 33)
console.log(getRandomNumber());
console.log(getRandomNumber());
console.log(getRandomNumber());

const makeRandomFn = function() {
const a = [].concat.apply([],arguments);
return function() {
    return a[Math.random() * a.length|0]
}};
const getRandomNumber = makeRandomFn(1, 2, 100, 34, 45, 556, 33)
console.log(getRandomNumber());
console.log(getRandomNumber());
console.log(getRandomNumber());

const makeRandomFn = function() {
const a = [].concat.apply([],arguments);
return function() {
    return a[Math.random() * a.length|0]
}};
const getRandomNumber = makeRandomFn([1, 2, 100, 34, 45, 556, 33])
console.log(getRandomNumber());
console.log(getRandomNumber());
console.log(getRandomNumber());

Последний раз редактировалось рони, 16.05.2019 в 23:30.
Ответить с цитированием