javascript - 在javascript中使用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",
}
]
}
]
我的目标是获取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)
推荐阅读
- postgresql - 如何将数据从表 B 附加到表 A 但仅当表 C 中有记录时
- reactjs - 使用 Material UI Select 反应最终形式
- python - 如何在 ubuntu 14.04 上将 python3.6 设为默认值
- linux-kernel - 如果我的系统上安装了 512 MB 的物理内存,Linux 内核如何处理内存映射
- r - 有什么方法可以从 R 中的累积 PCA 图中选择前 n 个 PCA 组件?
- javascript - 将百分比编码的表情符号显示为 html
- powershell - 将字符串转换为数据类型以存储在哈希表中
- java - GetByteArrayElements 未在此范围内声明
- maxima - 在最大值中通过引用调用:可能吗?
- javascript - 提交表单时如何轻松阻止页面重新加载?