Сгенерировать 2а случайных двузначных числа в JS и в их диапазоне сгенирировать ещё 3и любых
С генерацией есть представление, а как в этом диапазоне ещё 3 числа создать не понимаю. Желательно без использования funtion. Возможно через цикл for,но как реализовать нужна помощь. При использовании Math.random в for не будет понятно какая из переменных будет большая , какая меньшая. В Math.random необходимо знать какая min и max.
let a = Math.floor(Math.random() * 100);
let b = Math.floor(Math.random() * 100);
Ответы (2 шт):
Автор решения: Zhihar
→ Ссылка
если я правильно понял, что нужно, то общая формула для линейного распределения выглядит так:
let value = min + (max - min) * Math.random()
Автор решения: WalkMess
→ Ссылка
Ну как-то так мб.
const getRandom = (min, max) => Math.floor(Math.random() * (max - min)) + min;
const a = getRandom(0, 999);
const b = getRandom(0, 999);
const numX = getRandom(a, b);
const numY = getRandom(a, b);
const numZ = getRandom(a, b);
console.log(`${numX} ${numY} ${numZ}`);
Ну или так.
const getRandom = (min, max) => Math.floor(Math.random() * (max - min)) + min;
const getLastRandom = (min, max) => {
const a = Math.floor(Math.random() * (max - min)) + min;
const b = Math.floor(Math.random() * (max - min)) + min;
return [a, b];
};
const [a, b] = getLastRandom(0, 100);
const getNums = (a, b) => {
if (a > b) {
return {
numX: getRandom(b, a),
numY: getRandom(b, a),
numZ: getRandom(b, a),
};
} else {
return {
numX: getRandom(a, b),
numY: getRandom(a, b),
numZ: getRandom(a, b),
};
}
};
const number = getNums(a, b);
console.log(number);
Немного автоматизации.
const getNums = (a, b) => {
const objNum = {
numX: null,
numY: null,
numZ: null,
};
let result = null;
for (const key in objNum) {
if (a > b) {
objNum[key] = getRandom(b, a);
result = objNum;
} else {
objNum[key] = getRandom(b, a);
result = objNum;
}
}
return result;
};