В настоящее время у меня есть map
из массива пользователей, у которых все имеют уникальный ключ/значение _id
.Функция сравнения массивов JavaScript
user = [{_id: "1", ... }, {_id: "2", ... }, ... ]
У меня также есть два других массива, один с именем teams
и другого имени accounts
.
teams = [{ _id: "1", members: [{ userId: "2" }, { userId: "4" }, ... ], ... }]
accounts = [{ _id: "1", authorizedUsers: [{ userId: "3"}, ... ], ownerTeamId: "2" }, ... ]
Попытка создать два сравнения функции, которая принимает аргумент user
и выходов numberOfTeams
и numberOfAccounts
для соответствующего user
.
Я попытался установить numberOfTeams
ниже, но я не уверен, что это самый оптимальный вариант.
numberOfTeams(user) {
let count = 0;
teams.forEach(team => {
team.members.forEach(member => {
if (member.userId === user._id) {
count++
}
})
});
return count;
}
С numberOfAccounts
, я застрял на том, как сравнить authorizedUsers === user._id
ИЛИownerTeamId === team._id
, где также members.userId === user.id
, а затем count++
.
Свойство 'numberOfAccounts' не отображается в' javascript' объектах в вопросе? Что такое «numberOfAccounts», массив 'members'? – guest271314