假设有个数组如下:
var test1 = [2,3]
假设有个数组对象如下:
var test2 = [
{
"roleId": 2,
"roleName": "管理员",
},
{
"roleId": 4,
"roleName": "普通角色",
},
{
"roleId": 3,
"roleName": "仪器负责人",
},
{
"roleId": 5,
"roleName": "实验室负责人",
}
]
根据数组test1找到在test2中roleId与之相匹配的项,并返回roleName组成新的数据
具体实现步骤如下:
// 创建一个空数组用于存储匹配的roleName
var matchedRoleNames = [];
// 遍历disk1中的数组
disk1.forEach(function (roleId) {
// 在disk2中查找与roleId匹配的对象
var matchedRole = roleOptions.value.find(function (role) {
return role.roleId === roleId;
});
// 将匹配的roleName存入数组
if (matchedRole) {
matchedRoleNames.push(matchedRole.roleName);
}
});
// 输出匹配的roleName数组,输出为数组将其转换为字符串
return matchedRoleNames
// 如果需要转换成字符串,添加join(',')即可
// matchedRoleNames.join(', ')