function generateRandomInteger(min, max) {
return Math.floor(Math.random() * (max - min + 1)) + min;
}
function randomArrayAverage(targetAvg, arr) {
var currentAvg = 0.0;
var numAttempts = 0;
while (currentAvg < targetAvg) {
var randomIndex = generateRandomInteger(0, arr.length - 1);
var randomNum = arr[randomIndex];
currentAvg = (currentAvg * numAttempts + randomNum) / (numAttempts + 1);
numAttempts++;
}
return randomNum;
}
// 示例
var myArr = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var targetAverage = 5.5;
var randomNum = randomArrayAverage(targetAverage, myArr);
console.log(randomNum);
JavaScript 函数 generateRandomInteger
用于生成指定范围内的随机整数。然后定义了一个 randomArrayAverage
函数,该函数的参数包括目标平均数和一个数组。这个函数使用一个 while 循环来随机从数组中选择一个数字,并将它添加到当前平均值中。随着 while 循环的执行,函数将返回满足目标平均数的随机整数。
在示例中,“myArr”是要从中选择数字的数组,“targetAverage”是指定的目标平均数。函数 randomArrayAverage
将随机选择数字,并返回满足目标平均数的随机数。在示例中,可以看到这个函数一直选择一些在平均值之下的数字,直到得出一些数字后,得出了满足目标平均数的随机整数。