JavaScript HasownProperty () Ne trouvant pas de propriété
-
21-12-2019 - |
Question
Travailler avec AngularJs et Firebase Rédigez une fonction censée vérifier si l'actualisation peut être trouvé dans la base de données.À l'heure actuelle, la propriété "Serges" contient uniquement un utilisateur et c'est "Peter Pan"
services / parti.js
isAttending: function (party) {
if (User.signedIn() && party.attendings) {
console.log(User.getCurrent().username); //Writes out: Peter Pan
console.log(eve.attendings); //Writes out: Peter Pan
console.log(party.attendings.hasOwnProperty(
User.getCurrent().username); //Writes out: false
return party.attendings.hasOwnProperty(User.getCurrent().username);
}
}
PETER PAN a été stocké lorsque l'objet de fête a été créé:
var Party = {
..
create: function (p) {
...
party.attendings = user.username;
...
}
}
L'utilisateur est enregistré de manière rapide dans "Assistants" mais pourquoi ne va pas le trouver?
La solution
Je pense que vous vous trompez sur le fonctionnement de HasownProperty.
HasownProperty reviendra si l'objet dispose d'une propriété, dans votre cas, une partie a un lieu de propriété par exemple, mais c'est tout ce qu'il va vérifier, il ne vérifiera pas quelle est la valeur de cette propriété (dans ce cas, PeterPoêle).
Maintenant, je suppose que vous aimeriez assister à une liste, dans ce cas, vous devez trouver une valeur dans une liste, il y a plusieurs façons, si vous pouvez utiliser JQuery, vous pouvez faire quelque chose comme:
$.inArray( User.getCurrent().username, [ party.attendings ] );
Si vous ne regardez pas, jetez un coup d'œil à différentes alternatives, simplement Googling pour trouver une valeur dans un tableau en JavaScript.