Mam listę użytkowników i chcę zrobić funkcję, która będzie logować użytkownika jeżeli znajdzie odpowiadającą mu wartość własności.
const userList2 = [
user1 = {
login: 'user1',
email: 'user1@wp.pl',
password: 'password1',
address: 'owocowa1',
profilePhotoLink: 'https://link1.com'
},
user2 = {
login: 'user2',
email: 'user2@wp.pl',
password: 'password2',
address: 'owocowa2',
profilePhotoLink: 'https://link2.com'
}
]
i metoda
const findByProperty = (prop, value) => {
for (const user in userList2) {
if (userList2.hasOwnProperty(user)) {
for (const val in userList2[user]) {
if (Object.prototype.hasOwnProperty.call(userList2[user], val) && userList2[user].prop === value) {
console.log(userList2[user])
break;
}
}
}
}
}
Czyli jako prop podaję na przykład email, a value to na przykład user2@wp.pl
I pojawia się problem w tej linijce
if (Object.prototype.hasOwnProperty.call(userList2[user], val) && userList2[user].prop === value)
Mianowicie, jak przypisać(?) ten prop to userList2[user]? Próbowałem arguments[0], ale też nie działa, z ${prop} to samo. Nie chcę robić osobnej metody dla każdej z możliwych properties.