提问者:小点点

在单个对象(而不是嵌套对象)中显示所有数据


我使用的是sequelize ORM,而对于DB我使用的是MySQL,在其中我关联了两个表并获得了数据,但我希望第二个数据(另一个表的数据)不应该像嵌套对象一样进来,而是我们可以在一个对象中显示所有数据(两个表的数据)。

让我展示一下屏幕快照。

我想要的东西。

忽略数据的键和值,但我的问题是,我们是否可以在同一对象中显示另一个表的数据(像inner join一样),而不是像嵌套对象中的数据。

任何建议都是非常感谢的。


共1个答案

匿名用户

我不确定您到底想要什么,但根据您的输入/输出,我认为您想要扁平化嵌套对象(?)为此,您可以使用下一段代码-

nested_obj = {"message": "Hey you", "nested_obj": {"id": 1}}

flattened_obj = Object.assign(
    {}, 
    ...function _flatten(o) { 
      return [].concat(...Object.keys(o)
        .map(k => 
          typeof o[k] === 'object' ?
            _flatten(o[k]) : 
            ({[k]: o[k]})
        )
      );
    }(nested_obj)
  )

console.log(JSON.stringify(flattened_obj));