计算Javascript或jQuery的3相似大小的组 [英] calculating 3 similar sized groups in Javascript or jQuery
本文介绍了计算Javascript或jQuery的3相似大小的组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我们有:
var range = [9,18,3,14,2,6,12,7,11,2,1,4]
var total = 89;
var group_size = total / 3;
作为结果,我需要3组大小相似,但1组和第2组不能大于GROUP_SIZE。
As result I need 3 groups similar sized but group1 and group2 can never be bigger than group_size.
结果为这个例子是
var group1 = 27; // 9,18
var group2 = 25; // 3,14,2,6
var group3 = 37; // 12,7,11,2,1,4
我怎么能在Javascript / jQuery的实现这一目标?
How can I achieve this in Javascript/jQuery?
推荐答案
我认为你需要,如果你想这与JavaScript弹出值。是这样的:
I think you need to pop values with Javascript if you want this. Something like:
var range = [9,18,3,14,2,6,12,7,11,2,1,4]
var total = 89;
var group_size = total / 3;
var values = [0];
var groupnr = 0;
// Reverse the array, because pop will get the last element
range = range.reverse();
// While elements
while( range.length ) {
// get the last element and remove from array
var curvalue = range.pop();
// To large, create a new element
if( values[groupnr] + curvalue > group_size && groupnr < 2 ) {
groupnr++;
values[groupnr] = 0;
}
// Increase
values[groupnr] += curvalue;
}
console.log(values);
这篇关于计算Javascript或jQuery的3相似大小的组的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文