最小/最大随机数组

时间:2018-09-01 18:13:51

标签: javascript arrays random

我需要创建两个数组。一个在5到20之间的24个随机数。第二个在1到10之间的24个随机数。我认为我在创建数组的正确轨道上工作,但无法坚持5或1的最小值。这是我的代码:

driver.find_element_by_xpath('//a[@class="expandable-trigger-more"]').click()

我如何添加第三个回路,该回路执行伏特乘以安培的方程式?每次迭代都会将每个数组产生的随机元素相乘

2 个答案:

答案 0 :(得分:1)

要获得5到20之间的最小/最大随机数, 您将使用MDN docs中的Math.floor(Math.random() * (20 - 5 + 1)) + 5

// Returns a random integer between min (include) and max (include)

Math.floor(Math.random() * (max - min + 1)) + min;

然后您可以使用Array.from平滑地创建数组

function randomBetween(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

let volts = Array.from({length: 24}, () => randomBetween(5, 20));
let amps = Array.from({length: 24}, () => randomBetween(1, 10));

console.log(volts, amps);

答案 1 :(得分:0)

解决方案:

function getRandomNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

var volts = [];
var amps = [];

for(var i = 0; i < 24; i++) {
  volts.push(getRandomNumber(5, 20);
}

for(var i = 0; i < 24; i++) {
  amps.push(getRandomNumber(1, 10);
}

console.log(volts);
console.log(amps);

如果您想使用ES6,也可以尝试以下代码:

function getRandomNumber(min, max) {
  return Math.floor(Math.random() * (max - min + 1)) + min;
}

const volts = Array.from({length: 24}, () => getRandomNumber(5, 20);
const amps = Array.from({length: 24}, () => getRandomNumber(1, 10);

console.log(volts);
console.log(amps);

更新[06/09/2018]

如果需要将这两个数组相乘,则可以创建第三个循环:

result = [];
for(var i = 0; i < 24; i++) {
  result.push(amps[i] * volts[i]);
} 
console.log(result)