gpt4 book ai didi

javascript - 使用对象数组解构对象

转载 作者:搜寻专家 更新时间:2023-11-01 05:09:16 25 4
gpt4 key购买 nike

我有这样的和对象:

obj: {
child1: [
{ type, checked, text, ... },
{ type, checked, text, ... },
{ type, checked, text, ... },
],
child2: [
{ type, checked, text, ... },
...
],
...
}

我需要几乎相同的对象,但子元素应该具有仅由类型和检查值组成的对象。需要我的输出像下面的例子。

输出:

obj: {
child1: [
{
type: "type",
checked: "checked"
},
{
type: "type",
checked: "checked"
},
{
type: "type",
checked: "checked"
}
],
child2: [
{
type: "type",
checked: "checked"
}
]
}

到目前为止,我尝试过的一切似乎都不起作用。

我最后一次失败的尝试:

    Object.keys(tabs).forEach(key =>
({
updatedState: {
[key]: (({ documentTypeId, checked }) => ({ documentTypeId, checked }))(tabs[key]),
},
}),
);

最佳答案

您可以使用 Array.reduce()迭代 object's keys , 内部 Array.map()destructuring从您要保留的属性创建新对象:

const type = 'type'
const checked = 'checked'
const text = 'text'

const obj = {
child1: [
{ type, checked, text },
{ type, checked, text },
{ type, checked, text },
],
child2: [
{ type, checked, text },
],
}

const result = Object.keys(obj).reduce((r, k) => {
r[k] = obj[k].map(({ type, checked }) => ({ type, checked }))

return r
}, {})

console.log(result)

关于javascript - 使用对象数组解构对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48438832/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com