所以我收到了一组这样的对象:
[
{
accountName: {
type: 'link',
value: {
value: '1234567890123456789',
to: '/q?Id=1237896540789654',
},
},
bank: {
type: 'text',
value: 'Foo Bank',
},
},
{
accountName: {
type: 'link',
value: {
value: '9234567890123456789',
to: '/q?Id=9234567890123456789',
},
},
bank: {
type: 'text',
value: 'Foo Bank',
},
},
];
我需要这样的输出:
[
{
accountName: '1234567890123456789',
bank: 'Foo Bank'
},
{
accountName: '9234567890123456789',
bank: 'Foo Bank'
}
]
我该如何解决? 对象数组并不总是具有相同的形状,因此我需要一个递归函数来保存原始对象的第一个键并将该值展平,直到它不再是一个对象。
最佳答案
有许多库可能会有所帮助,但也许像这样的东西会起作用?
results.map(result => ({
accountName: result.accountName.value.value,
bank: result.bank.value
}));
除了你说“对象数组并不总是具有相同的形状”,但我不确定如何解决这个问题。你说了一些递归搜索,这是否意味着在对象中寻找最深的“值(value)”?
关于javascript - 将对象数组中的对象展平的递归函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58613232/