gpt4 book ai didi

javascript - 在javascript中使用map为内部数组添加值

转载 作者:行者123 更新时间:2023-12-03 07:18:47 27 4
gpt4 key购买 nike

您好,假设我有以下数组:

let array = [
{
id: "1",
name: "name",
categories: [
{
subid: "10",
name: "name",
},
{
subid: "11",
name: "name",
}
]
},
{
id: "2",
name: "name",
categories: [
{
subid: "20",
name: "name",
},
{
subid: "21",
name: "name",
}
]
}
]

我的目标是获取每个对象的 id 并将其添加到内部数组 categories 中。所以它看起来像这样:

let array = [
{
id: "1",
name: "name",
categories: [
{
subid: "10",
name: "name",
id: "1"
},
{
subid: "11",
name: "name",
id: "1"
}
]
},
{
id: "2",
name: "name",
categories: [
{
subid: "20",
name: "name",
id: "2"
},
{
subid: "21",
name: "name",
id: "2"
}
]
}
]

这是我目前所拥有的:

array.map(x => (x.id)) // returns new array of ids
// add these into the categories

谁能帮我用 map 解决这个问题?如果 map 不能使用,我认为 for each 也可以使用

最佳答案

使用 map 方法并在对象内传播语法,您可以做到这一点。

let array = [{"id":"1","name":"name","categories":[{"subid":"10","name":"name"},{"subid":"11","name":"name"}]},{"id":"2","name":"name","categories":[{"subid":"20","name":"name"},{"subid":"21","name":"name"}]}]

let result = array.map(({id, categories, ...rest}) => ({
...rest, id, categories: categories.map((o) => ({...o, id}))
}))

console.log(result)

关于javascript - 在javascript中使用map为内部数组添加值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52550952/

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