我遇到了同样的问题,但还需要创建一个字符串文字来描述每个存储桶,比如一个“从-到”字符串。改变 Seva Arkhangelskiy 的答案,这是我想出的功能。它返回每个存储桶的限制范围,以及存储桶的专有名称。
function distribute (max, buckets) {
var arr = [], rpt = max / buckets, groupLiteral_low;
for (var i = 0; i < max; i += rpt) {
if (Math.ceil(i) != i || i==0) {
groupLiteral_low = Math.ceil(i);
} else {
groupLiteral_low = Math.ceil(i)+1;
}
arr.push({
"limit": (Math.floor(rpt+i)),
"literal": groupLiteral_low + "-" + (Math.floor(rpt+i))
});
}
return arr;
}
比如distribute(100,3)
会返回</p>
0: Object { limit: 33, literal: "0-33" }
1: Object { limit: 66, literal: "34-66" }
2: Object { limit: 100, literal: "67-100" }