js如何将数据从一种格式转换为其他格式

Ric*_*ich 0 javascript arrays object

我正在开发一个项目,我得到以下数据

{
  a1: { target: 'a2', overwrite: true },
  aa1: { target: 'aa2', overwrite: true },
  aaa1: { target: 'aaa2', overwrite: false }
}
Run Code Online (Sandbox Code Playgroud)

我想将上面的内容转换如下

[
  { source: 'a1', target: 'a2', overwrite: 'on' },
  { source: 'aa1', target: 'aa2', overwrite: 'on' },
  { source: 'aaa1', target: 'aaa2' }
]
Run Code Online (Sandbox Code Playgroud)

我怎样才能实现这个目标?由于我是 js 新手,我对此感到困惑。有人可以帮忙吗?

Geo*_*rgy 6

const obj = {
  a1: { target: 'a2', overwrite: true },
  aa1: { target: 'aa2', overwrite: true },
  aaa1: { target: 'aaa2', overwrite: false }
}

Object.keys(obj).map(key => ({
  source: key,
  target: obj[key].target,
  ...(obj[key].overwrite && { overwrite: 'on' }),
}))
Run Code Online (Sandbox Code Playgroud)