我在画布里有1到20个物体。
对象具有左、宽、顶和高属性。
我把我的画布分成12个部分。每个对象的宽度可以是画布宽度的1/12(月)或3/12(四分之一)。
现在我需要得到12个网格段中每个区域内所有对象的高度之和。
例如。在第1节中是一个月对象,高度为12 ->结果12。
第二节是两个月的对象。10和14 ->结果24
第四节是一个月对象和四分之一对象:高地12和14 ->结果26。
第五节是一个月对象和同一季度对象:高地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]示例图片:

发布于 2014-04-10 12:38:55
你能试试这个然后把你得到的寄出去吗?因为您可以遍历对象,所以我认为您实际上不需要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;https://stackoverflow.com/questions/22986364
复制相似问题