看看这个符合你的需求不?
var total = 85;
var base = 15;
var parts = 5;
var available = total - base * parts;
var indexVector = [];
for (var i = 0; i < parts - 1; i++) {
indexVector[i] = Math.ceil(Math.random() * available);
}
var numberVector = [];
indexVector.sort(function(a, b) {
return a - b;
});
indexVector.push(available);
var start = 0;
for (var i = 0; i < parts; i++) {
var number = indexVector[i] - start;
numberVector[i] = base + number;
start = indexVector[i];
}
var sum = 0;
numberVector.map(function(n) {
sum += n;
})
console.log(numberVector);
console.log(sum);
【 在 upndown 的大作中提到: 】
: 这样并不能保证随机
:
--
FROM 112.41.21.*