使用angularjs和firebase编写一个函数,该函数应检查是否可以在数据库中找到currentUser。现在该物业"出席"只包含一个用户,而且是#34; Peter Pan"
服务/ party.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:
var Party = {
..
create: function (p) {
...
party.attendings = user.username;
...
}
}
用户出人意料地存储在'出席'但是为什么不能找到hasOwnProperty()找到它?
答案 0 :(得分:1)
我认为你错误地认为hasOwnProperty是如何工作的。
如果对象有一个属性,hasOwnProperty将返回,在你的情况下,派对有一个属性参与,但这就是它将检查的全部,它不会检查这个属性的值是什么(在这种情况下彼得泛)。
现在,我假设您希望参加会议成为一个列表,在这种情况下您需要在列表中找到一个值,有几种方法,如果您可以使用jQuery,您可以执行以下操作:
$.inArray( User.getCurrent().username, [ party.attendings ] );
如果你不这样做,那就看看不同的选择,只需谷歌搜索在javascript中找到数组中的值。