我有一个需要在对象中转换的数组(JAVASCRIPT)

好吧,基本上我有一个数组,里面有一个对象,这个对象里面有一个对象数组,看起来像这样:

```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,然后遍历数组。每次迭代时,我们都会返回对象,并在其末尾附加新的键和值。


array.reduce((prev,cur) => ({...prev,...cur}),{})

img