我正在构建一个需要处理嵌套地理数据以在树视图中显示的Web应用程序,但也是可搜索的。原始数据看起来是这样的:在JavaScript中使用父/子列表生成嵌套列表
id:1, name:UK
id:2: name: South-East, parentId: 1
id:3: name: South-West, parentId:1
id:4: name: Berkshire, parentId: 2
id:5: name: Reading, parentId: 4
,我希望它看起来是这样的:
id:1: name UK, children[
{id: 2, name: South-East, children:[
{id:4: name: Berkshire, children: [
{id:5: name: Reading}
]
},
{id:3: name: South-West}
]
让每个地理位置有一个“孩子”阵列属性,它包含了所有的子 - 区域,每个区域都有另一个“children”数组属性,依此类推。也可以有一个“父”属性,所以我可以从任何子项导航到其父项。
我也需要能够搜索列表 - 搜索树的每个分支可能需要一些时间,所以也许我需要也保持列表的平面格式。
我知道我如何可以在JavaScript中执行此操作(可能使用jLinq进行过滤,分组和排序),但我不知道它有多快。有没有人已经在JavaScript中了解了这个问题,或者知道解决这个问题的一般算法/模式?
想通了......延迟加载。我们不需要一次显示所有的数据,只需要按需(这是一个很棒的数据结构,人们将点击进入他们需要的位)。查找相关项目并在需要时将它们添加到“children”属性将会更容易,而不是事先做好整个项目...... – TobyEvans 2011-02-16 13:33:03
您是否介意在下面发布您的解决方案作为答案,以便我们可以解决此问题未经答案的清单?谢谢。 – 2011-07-18 15:44:38