展平父/子对象链,沿途合并值

弗雷德·菲克伯里三世(Fred Fickleberry III)

我们多年来一直盯着这个问题,浪费了宝贵的时间。

我们有这些对象,我们称它们为Components我们的应用程序允许您基于现有Component创建一个Component

父级的所有值都是“继承的”(读取:可通过component.Parent属性访问),除非您重写了一个值-例如,您想给它一个新名称,但保留其余的父级值。

// Exiting parent-child object chain
BaseObject      {Id = 1, Name = "Base", Description = "Base description", Notes = "Awesome object", ParentId = null}
ChildObject1    {Id = 2, Name = "", Description = "", Notes = "", ParentId = 1}
ChildObject2    {Id = 3, Name = "Custom Name", Description = "", Notes = "", ParentId = 2}
ChildObject3    {Id = 4, Name = "", Description = "Final object", Notes = "", ParentId = 3}

现在,我想使用父级的现有值作为子级上的任何空值,从上至下将其展平。

// End result after flattening/merging
ChildObject3    {Id = 4, Name = "Custom Name", Description = "Final object", Notes = "Awesome object", ParentId = 3}

值得注意的是:没有孩子的财产,只有孩子知道父母。父母不知道孩子。

如何将这种不难看解决while(child.Parent != null)建设和创造previousComponentcurrentComponent等物体跟踪的一组值。

基督教

递归DeepCopy方法怎么样?

public class ComponentClass()
{
   public ComponentClass DeepCopy(ComponentClass comp)
   {
       CopyAllNonEmptyPropertiesTo(comp);
       if (comp.StillHasEmptyProperties())
          return Parent.DeepCopy(comp);
       else
          return comp;
   }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何使用Stream.flatmap将要展平的对象与展平的对象合并

来自分类Dev

展平并合并Javascript中的对象数组

来自分类Dev

展平对象的结构

来自分类Dev

缩小并展平对象

来自分类Dev

展平对象

来自分类Dev

“展平”对象数组?

来自分类Dev

展平嵌套对象

来自分类Dev

如何在javascript中展平对象值

来自分类Dev

展平对象中的数组

来自分类Dev

JavaScript展平对象数组

来自分类Dev

展平嵌套的对象数组

来自分类Dev

展平嵌套的Javascipt对象

来自分类Dev

如何展平嵌套对象?

来自分类Dev

展平对象属性列表

来自分类Dev

Python:展平对象列表

来自分类Dev

部分展平 JavaScript 对象

来自分类Dev

在SQL Server中展平父子关系

来自分类Dev

使用JQ将JSON展平/合并为单个对象数组

来自分类Dev

如何在LINQ中对匿名对象列表进行分组和合并/展平

来自分类Dev

展平数据框,将列的值合并为列表以填充单个单元格

来自分类Dev

将此json转换为正确的格式链展平groupby

来自分类Dev

使用lodash方法展平并在json对象中查找值并查找

来自分类Dev

展平嵌套在父值之前的对象的嵌套数组

来自分类Dev

使用 Lodash 按重复日期展平对象数组并获取唯一键和值?

来自分类Dev

展平可能包含数组的对象数组

来自分类Dev

播放[Scala]:如何展平JSON对象

来自分类Dev

节点Js-展平对象数组

来自分类Dev

在OpenApi 3中展平RequestParam对象

来自分类Dev

使用JavaScript展平深度嵌套的对象