Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 比较嵌套对象并添加缺少的元素_Javascript_Arrays_Typescript - Fatal编程技术网

Javascript 比较嵌套对象并添加缺少的元素

Javascript 比较嵌套对象并添加缺少的元素,javascript,arrays,typescript,Javascript,Arrays,Typescript,具有两个或多个具有以下结构的嵌套对象: 秩序是不能保证的 目标1: { "outer": [ { "inner": [ { "Service1": 34, "title": [ { "le

具有两个或多个具有以下结构的嵌套对象: 秩序是不能保证的

目标1:

{
"outer": [
            {
                "inner": [
                    {
                        "Service1": 34,
                        "title": [
                            {
                                "level1": 57
                            },
                            {
                                "level2": 75
                            }
                        ]
                    }
                ]
            }
        ]
    }
目标2:

{
"outer": [
            {
                "inner": [
                    {
                        "Service2": 23,
                        "title": [
                            {
                                "level1": 89
                            }
                        ]
                    }
                ]
            },
            {
                "inner": [
                    {
                        "title": [
                            {
                                "level1": 45
                            }
                        ],
                        "Service1": 68
                    }
                ]
            }
        ]
    }
希望找到一种通用方法来比较两个对象,并将缺少的元素从对象2添加到对象1,以及从对象1添加到对象2

缺少的元素可以是任何级别的

两个对象中都可以找到inner.service1,但标题级别的元素可能不同。我想将它们添加回其他对象,但该键为空或值为0

  Object 2:

{
"outer": [
            {
                "inner": [
                    {
                        "Service2": 23,
                        "title": [
                            {
                                "level1": 89
                            }
                        ]
                    }
                ]
            },
            {
                "inner": [
                    {
                        "title": [
                            {
                                "level1": 45
                            },
                             {
                                "level2": 
                            }
                        ],
                        "Service1": 68
                    }
                ]
            }
        ]

Object 1:

{
"outer": [
             {
                "inner": [
                    {
                        "Service2": ,
                        "title": [
                            {
                                "level1":
                            }
                        ]
                    }
                ]
            },
            {
                "inner": [
                    {
                        "Service1": 34,
                        "title": [
                            {
                                "level1": 57
                            },
                            {
                                "level2": 75
                            }
                        ]
                    }
                ]
            }
        ]
    }
比较和发现简单json的差异很容易,但对于嵌套json,我想不出一种方法来比较和添加它们

已经经历了其他的解决方案,但它对我不起作用!
如有任何建议,将不胜感激

也许我误解了,但是如果你想要两者的所有值,为什么不创建一个新对象呢?缺少元素之类的内容可以处于最低级别。ex:一个或多个标题丢失,需要向Other添加具有空值的键可能我误解了,但是如果您希望从这两个标题中获得所有值,为什么不创建一个新对象?缺少元素之类的内容可以处于最低级别。例如:缺少一个或多个标题,需要将值为空的键添加到其他标题中