javascript - 重建对象数组后重新索引对象数组中的元素
问题描述
我有以下数组,我想在数组中每个项目的任一侧添加一个占位符并重新索引它。它目前看起来像这样:
[
[
{
"componentId": "navbar-zJNm0HaP",
"componentIndex": 1,
"componentName": "app-builder-navbar",
},
{
"componentId": "features-2hsUdwaT",
"componentIndex": 5,
"componentName": "app-builder-features",
},
{
"componentId": "footer-dLvoLZ16",
"componentIndex": 7,
"componentName": "app-builder-footer",
}
],
[
{
"componentId": "navbar-UBdYplVp",
"componentIndex": 1,
"componentName": "app-builder-navbar",
},
{
"componentId": "features-mmEzByeO",
"componentIndex": 3,
"componentName": "app-builder-features"
},
{
"componentId": "features-oSgGc6nL",
"componentIndex": 7,
"componentName": "app-builder-features"
},
{
"componentId": "footer-IyrNODRQ",
"componentIndex": 9,
"componentName": "app-builder-footer"
}
]
]
在我执行操作后,它应该如下所示:
[
[
{
"componentId": "placeholder",
"componentIndex": 0,
"componentName": "app-builder-placeholder",
},
{
"componentId": "navbar-zJNm0HaP",
"componentIndex": 1,
"componentName": "app-builder-navbar",
},
{
"componentId": "placeholder",
"componentIndex": 2,
"componentName": "app-builder-placeholder",
},
{
"componentId": "features-2hsUdwaT",
"componentIndex": 3,
"componentName": "app-builder-features",
},
{
"componentId": "placeholder",
"componentIndex": 4,
"componentName": "app-builder-placeholder",
},
{
"componentId": "footer-dLvoLZ16",
"componentIndex": 5,
"componentName": "app-builder-footer",
},
{
"componentId": "placeholder",
"componentIndex": 6,
"componentName": "app-builder-placeholder",
},
],
[
{
"componentId": "placeholder",
"componentIndex": 0,
"componentName": "app-builder-placeholder",
},
{
"componentId": "navbar-UBdYplVp",
"componentIndex": 1,
"componentName": "app-builder-navbar",
},
{
"componentId": "placeholder",
"componentIndex": 2,
"componentName": "app-builder-placeholder",
},
{
"componentId": "features-mmEzByeO",
"componentIndex": 3,
"componentName": "app-builder-features"
},
{
"componentId": "placeholder",
"componentIndex": 4,
"componentName": "app-builder-placeholder",
},
{
"componentId": "features-oSgGc6nL",
"componentIndex": 5,
"componentName": "app-builder-features"
},
{
"componentId": "placeholder",
"componentIndex": 6,
"componentName": "app-builder-placeholder",
},
{
"componentId": "footer-IyrNODRQ",
"componentIndex": 7,
"componentName": "app-builder-footer"
},
{
"componentId": "placeholder",
"componentIndex": 8,
"componentName": "app-builder-placeholder",
},
]
]
到目前为止,我已经尝试了以下方法,它使占位符就位。
pageComponents = BuilderComponentsService.addPlaceholdersOnMultiplePages(pageComponents);
static addPlaceholdersOnMultiplePages(components) {
return components.map(element =>
element.reduce((r, a) => r.concat(a,
{
componentIndex: null,
componentName: ActiveComponentsPartialSelector.Placeholder,
componentId: `${ActiveComponents.Placeholder}-${UtilService.generateRandomString(8)}`,
timestamp: new Date().getTime()
}),
[{
componentIndex: null,
componentName: ActiveComponentsPartialSelector.Placeholder,
componentId: `${ActiveComponents.Placeholder}-${UtilService.generateRandomString(8)}`,
timestamp: new Date().getTime()
}]
));
}
但我不确定如何运行将更新componentIndex
每个数组的索引 () 的最后一步。我怎么做?
解决方案
推荐阅读
- mysql - 跨大量行运行 SUM
- python-2.7 - 如何使用 python-jenkins 检索 jenkins 作业的最后一个控制台输出?
- python - 有没有办法在窗口中居中画布小部件?
- android - 如何获取谷歌热图点击监听器?
- java - 如何读取输出文件以收集统计信息(后)处理
- kubernetes - 卷“config-volume”的 Minikube MountVolume 失败
- database - 当用户更改图像的名称或位置时,如何更改存储在数据库中的图像目录
- azure - 设置变量 [2] 处的 Azure Api 网关错误
- daml - DAML 智能合约使用 JVM 我们可以将其替换为 webbaseembly 吗?
- reactjs - 以 mm/dd/yyyy 格式为“react-datepicker”插入自动斜线