画布里面有1到20个物体 对象具有left,width,top和height属性。
我将画布划分为12个部分。每个对象的宽度可以是画布宽度(月)的1/12或3/12(四分之一)。
现在我需要得到12个网格部分中每个对象内部高度的总和。
例如。
在第1部分中,1个月对象的高度为12 - >结果12
第2部分是2个月对象。高度10和14 - >结果24
在第4部分中是1个月对象和1个四分之一对象:高度12和14 - >结果26
在第5部分中是1个月对象和相同的四分之一对象:高度4和14 - >结果18
希望这是可以理解的。 javascript中需要解决方案 我所拥有的是一个包含所有开始部分和所有结束部分的数组。
例如:
startingSections = [1, 2, 2, 4, 4, 5]
endingSections = [1, 2, 2, 4, 6, 5]
我想要的输出如下:
var sectionsMax = [];
sectiosnMax = getMonthlyTops();
function getMonthlyTops(){
var monthlyTops = [];
/* Code here */
return monthlyTops;
}
结果可能是:
sectionsMax = [12, 24, 0, 26, 18, 14, 0, 0, 0, 0, 0, 0]
示例图片:
答案 0 :(得分:1)
你可以尝试一下并发布你得到的内容。由于您可以遍历对象,我认为您实际上不需要startingSections
和endingSections
数组。
var monthlyTops = new Array(0,0,0,0,0,0,0,0,0,0,0,0);
canvas.forEachObject(function (targ) {
x = targ.left / (canvas.width / 12);
for (i = x; i < (x + targ.width / (canvas.width / 12) ); i++)
monthlyTops[i] += targ.height;
});
return monthlyTops;