好吧,基本上我有一个数组,里面有一个对象,这个对象里面有一个对象数组,看起来像这样:
```javascript
var array = [
{articles: [
{number: "123"},
{number: "143"},
]},
{paragraph: [
{number: "197"},
]},
]
```而且我真的很愿意得到一个对象值,就像这样
{articles: [...], paragraph: [...]}
好吧,基本上我有一个数组,里面有一个对象,这个对象里面有一个对象数组,看起来像这样:
```javascript
var array = [
{articles: [
{number: "123"},
{number: "143"},
]},
{paragraph: [
{number: "197"},
]},
]
```而且我真的很愿意得到一个对象值,就像这样
{articles: [...], paragraph: [...]}
这可以使用数组 reducer来完成
const array = [
{ articles: [{ number: "123" }, { number: "143" }] },
{ paragraph: [{ number: "197" }] },
];
const formatted = array.reduce((accumulator, currentValue) => {
const [[key, value]] = Object.entries(currentValue);
return { ...accumulator, [key]: value }
}, {});
console.log(formatted);
我们正在做的是在第 9 行用一个空对象初始化我们的 reducer,然后遍历数组。每次迭代时,我们都会返回对象,并在其末尾附加新的键和值。