所以这是我的问题。我有具有name属性和parentId属性的对象。我想要做的是构造一个包含完整分层路径的字符串,类似于文件路径(\ grandparent \ parent \ child)。
SomeObject:
public var parentId:String;
public var someObjectName:String;
我似乎无法找到一种不会大规模扩展或重做大量工作的方法。
当前的想法:添加一个名为getFullPathArray的函数,它看起来像这样
getFullPath(parentIdHashMap:Map,returnArray:Array):Array
{
returnArray.addFirst(this.someObjectName);
if( parentId != null )
{
var parentSomeObject = parentIdHashMap[this.parentId]
parentSomeObject(parentIdHashMap,returnArray)
}
return returnArray
}
这个函数的问题在于每个someObject都会根据看起来很麻烦的后代数被多次触摸。
第二个想法:
将关卡标识符附加到我的模型。然后我可以按级别进行排序并向下进行。我看到的问题是必须保持水平。这不是一个问题,这对我来说是一个额外的逻辑,可以在以后打破并软化。
我知道这个问题在多个领域已经多次解决,但我似乎无法找到一个不关心创建和维护数据结构的好方法。
非常感谢任何帮助。
答案 0 :(得分:0)
可能你可以使用递归,有些事情是这样的:
userConf