Я, должно быть, слишком много думаю о решении этой проблемы, но, похоже, не могу понять это правильно.
У меня есть массив object
примерно так:
[
{ ItemID: 1, Path: '/Admin', Name: 'Admin' },
{ ItemID: 2, Path: '/Product', Name: 'Product' },
{ ItemID: 1, Path: '/Reports', Name: 'Reports' }
]
Я хочу нанести на карту каждый элемент, и для каждого мне нужно запустить функцию, которая будет возвращать, имеют ли они доступ. то есть логическое (да / нет).
Пока у меня есть что-то вроде этого:
const newData = data.map((curr, val , arr) => {
if (checkAccess(username, curr.Name )) { //checkAccess returns true or false
return { ...current };
}
});
Я хочу вернуть только те, к которым у них есть доступ.
при условии, что пользователь не может получить доступ к Admin
, конечный объект должен быть:
[
{ ItemID: 2, Path: '/Product', Name: 'Product' },
{ ItemID: 1, Path: '/Reports', Name: 'Reports' }
]
РЕДАКТИРОВАТЬ:
Проблема также в том, что функция не возвращает true / false
function checkInGroup(username, name) {
let inGroup = "";
ad.isUserMemberOf(username, name, function(err, isMember) {
if (err) {
return res.json("Error ", err);
}
inGroup = isMember; //this part returns true
});
return inGroup; //this seems to return empty string
}