Javascript 将嵌套对象转换为csv,其中最低属性的所有父对象在各行上都可见

Javascript 将嵌套对象转换为csv,其中最低属性的所有父对象在各行上都可见,javascript,object,Javascript,Object,我有一个嵌套对象,我想将其转换为平面线。对象如下: { "United States": { "New York": { "first": 11, "second": 7 }, "New Jersey": { "first": 8,

我有一个嵌套对象,我想将其转换为平面线。对象如下:

    {
      "United States": {
        "New York": {
          "first": 11,
          "second": 7
        },
        "New Jersey": {
          "first": 8,
          "second": 2
        },
        "Pennsylvania": {
          "first": 4,
          "second": 2
        }
      }
    },
    {
      "South America": {
        "Brazil": {
          "first": 5,
          "second": 4
        }
      }
    },
    {
      "Africa": {
        "Zaire": {
          "first": 2,
          "second": 1
        }
      }
    },
    {
      "Asia": {
        "China": {
          "first": 10,
          "second": 4
        },
        "Japan": {
          "first": 6,
          "second": 3
        }
      }
    },
    {
      "Eastern Europe": {
        "Ukraine": {
          "first": 2,
          "second": 1
        }
      }
    },
    {
      "Europe": {
        "France": {
          "first": 2,
          "second": 4
        },
        "Germany": {
          "first": 1,
          "second": 7
        },
        "Portugal": {
          "first": 3,
          "second": 1
        },
        "Spain": {
          "first": 5,
          "second": 2
        },
        "Switzerland": {
          "first": 1,
          "second": 3
        }
      }
    }
我希望能够看到这样的情况,即每行始终可以看到嵌套的顶层:

    "United States", "New York", 11, 7
    "United States", "New Jersey", 8, 2
    "United States", "Pennsylvania", 4, 2
    "South America":, "Brazil", 5, 4
    "Africa", "Zaire", 2, 1
    "Asia", "China", 10, 4
    "Asia", "Japan", 6, 3
    "Eastern Europe", "Ukraine", 2, 1
    "Europe", "France", 2, 4
    "Europe", "Germany", 1, 7
    "Europe", "Portugal", 3, 1
    "Europe", "Spain", 5, 2
    "Europe", "Switzerland", 1, 3
我知道如何通过数组循环来实现这一点,但我不确定如何使用嵌套对象来实现。我已经搜索了s/o,但还没有看到任何能够实现这一点的东西。 (我的实际数据集更长)
欢迎任何帮助。谢谢。

只需在结构的每个级别执行循环:

let data=[{“美国”:{“纽约”:{“第一”:11,“第二”:7},“新泽西州”:{“第一”:8,“第二”:2},“宾夕法尼亚州”:{“第一”:4,“第二”:2}},{“南美洲”:{“巴西”:{“第一”:5,“第二”:4},{“非洲”:{“扎伊尔”:{“第一”:2,“第二”:1},{“亚洲”:{“第一”:10,“第二”:4},{“日本”:“第一”:6}{“东欧”:{“乌克兰”:{“第一”:2,“第二”:1}}},{“欧洲”:{“法国”:{“第一”:2,“第二”:4},“德国”:{“第一”:1,“第二”:7},“葡萄牙”:{“第一”:3,“第二”:1},“西班牙”:{“第一”:5,“第二”:2},“瑞士”:{“第一”:1,“第二”:3};
对于(让obj表示数据){
对象条目(obj)的(let[地区,国家]){
对于(让对象的[国家,指标]。条目(国家)){
console.log(地区、国家、对象、值(指标));
}
}

}
Object.entries(anObject).forEach(…)
您的对象不是有效的JavaScript语法。我想您实际上有一个数组。如果是这样,它需要包装在
[]
中才能在JavaScript.Perfect中有效。谢谢!