gpt4 book ai didi

javascript - 解决最多 20 个对象的最大高度

转载 作者:行者123 更新时间:2023-11-30 05:37:09 25 4
gpt4 key购买 nike

我在 Canvas 中有 1 到 20 个对象。
对象具有左、宽、顶和高属性。

我将 Canvas 分为 12 个部分。每个对象的宽度可以是 Canvas 宽度的 1/12(月)或 3/12(季度)。

现在我需要获取 12 个网格部分中所有对象的高度总和。

例如。第 1 部分是 1 个月份对象,高度为 12 --> 结果 12
在第 2 部分中有 2 个月份对象。高度 10 和 14 --> 结果 24
第 4 部分是 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]

示例图片: Example

最佳答案

你能试试这个并发布你得到的东西吗?由于您可以遍历对象,我认为您实际上不需要 startingSectionsendingSections 数组。

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;

关于javascript - 解决最多 20 个对象的最大高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22986364/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com