首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >解最多20个物体的最大高度

解最多20个物体的最大高度
EN

Stack Overflow用户
提问于 2014-04-10 11:10:28
回答 1查看 75关注 0票数 2

我在画布里有1到20个物体。

对象具有左、宽、顶和高属性。

我把我的画布分成12个部分。每个对象的宽度可以是画布宽度的1/12(月)或3/12(四分之一)。

现在我需要得到12个网格段中每个区域内所有对象的高度之和。

例如。在第1节中是一个月对象,高度为12 ->结果12。

第二节是两个月的对象。10和14 ->结果24

第四节是一个月对象和四分之一对象:高地12和14 ->结果26。

第五节是一个月对象和同一季度对象:高地4和14 ->结果18。

希望这可以理解。在javascript中需要解决方案。

我所拥有的是一个数组,包含所有开始部分和所有结束部分。

例如:

代码语言:javascript
复制
startingSections = [1, 2, 2, 4, 4, 5]
endingSections = [1, 2, 2, 4, 6, 5]

我想要的输出如下:

代码语言:javascript
复制
var sectionsMax = [];
sectiosnMax = getMonthlyTops();

function getMonthlyTops(){
  var monthlyTops = [];

  /* Code here */

  return monthlyTops;
}

结果可以是:

代码语言:javascript
复制
sectionsMax = [12, 24, 0, 26, 18, 14, 0, 0, 0, 0, 0, 0]

示例图片:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-10 12:38:55

你能试试这个然后把你得到的寄出去吗?因为您可以遍历对象,所以我认为您实际上不需要startingSectionsendingSections数组。

代码语言:javascript
复制
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;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22986364

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档