javascript - 如何合并列表中 3 个不同对象的字符串?
问题描述
我想要做的是根据两个列表中的顺序合并 3 个字符串。
例如,在一个数组中,我有这 3 个项目,它们的数据为字符串形式:
1: {
permissionIDList: "1,2,3"
permissionNameList: "Admin Role,Admin Role,Bulletin Board"
permissionTypeList: "view,edit,view"
}
我想合并列表并将其映射到值和标签中,以便它将变为:
0: {value: 1, label: Admin Role - view}
1: {value: 2, label: Admin Role - edit}
2: {value: 3, label: Bulletin Board - view}
解决方案
Array.reduce
执行
const data = {
permissionIDList: "1,2,3",
permissionNameList: "Admin Role,Admin Role,Bulletin Board",
permissionTypeList: "view,edit,view",
};
const [permissionIDList, permissionNameList, permissionTypeList] = [data.permissionIDList.split(','), data.permissionNameList.split(','), data.permissionTypeList.split(',')];
const merger = permissionIDList.reduce((acc, curr, index) => {
acc[curr] = {
value: curr,
label: `${permissionNameList[index]} - ${permissionTypeList[index]}`
}
return acc;
}, {});
console.log(merger);
如果您的最终数据响应是一个数组,您可以使用Array.map
const data = {
permissionIDList: "1,2,3",
permissionNameList: "Admin Role,Admin Role,Bulletin Board",
permissionTypeList: "view,edit,view",
};
const [permissionIDList, permissionNameList, permissionTypeList] = [data.permissionIDList.split(','), data.permissionNameList.split(','), data.permissionTypeList.split(',')]
const merger = permissionIDList.map((node, index) => ({
value: node,
label: `${permissionNameList[index]} - ${permissionTypeList[index]}`
}));
console.log(merger);
推荐阅读
- php - Woocommerce 元查询在 product_query 中不起作用
- sql - CROSS JOIN 查询性能问题
- javascript - Javascript:如何在界面中的字符串元素中添加逗号
- azure-devops - Nexus 存储库 - Azure DevOps 发布管道
- dji-sdk - Matrice300 RTK:如何实现“跟随我”行为
- reactjs - 无法读取 null React api json fetch 的属性
- yaml - 路径中具有多个/连续 $ref 元素的 OpenApi 文件给出了重复的映射键
- python - Tkinter:同一窗口中的新页面/当前:新窗口中的新页面
- javascript - 条形图 D3 中未绘制最小值
- html - 带有条纹和垂直文本居中的 Bootstrap 5 flex 表会产生高度问题(td 元素采用行高)