【发布时间】:2020-06-15 09:20:12
【问题描述】:
在 fabric.js 应用程序中,我将元素分为几组。
用户可以形成包含任意数量元素的任意数量的组。
附图显示了分成三组的元素,每个元素都显示了它的 ID。
当用户创建完组后,应用程序会测量元素之间的距离并将元素置于“父-子(ren)”关系中。
这会产生一个对象数组:
var elements = [
{ "parent": 1, "children": [ 2 ] },
{ "parent": 2, "children": [ 1 ] },
{ "parent": 3, "children": [ 7 ] },
{ "parent": 4, "children": [ 5, 6 ] },
{ "parent": 5, "children": [ 4, 6, 7 ] },
{ "parent": 6, "children": [ 4, 5 ] },
{ "parent": 7, "children": [ 3, 5 ] },
{ "parent": 8, "children": [ 9 ] },
{ "parent": 9, "children": [ 8, 11 ] },
{ "parent": 10, "children": [ 11, 12 ] },
{ "parent": 11, "children": [ 9, 10 ] },
{ "parent": 12, "children": [ 10 ] }
];
组中的每个元素都是靠近它的元素的父元素,但同时它也是最靠近它的元素的子元素。
在此示例中,如何从“元素”数组中获取包含三个子数组的数组?
每个结果子数组都应包含仅在该组中的元素的 ID。
最终结果应该是:
var groups = [
[1, 2],
[3, 4, 5, 6, 7],
[8, 9, 10, 11, 12]
];
【问题讨论】:
标签: javascript arrays fabricjs