javascript hasownproperty()找不到财产
-
21-12-2019 - |
题
使用AngularJS和Firebase编写一个应该检查函物者是否可以在数据库中找到的函数。现在房产“参加”只包含一个用户,这是“彼得潘”
服务/ 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;
...
}
}
.
用户透明地存储在“参加”中,但为什么不会出现()找到它?
解决方案
我认为你被误认为是Hastownerty的作品。
hasownproperty将返回如果对象具有属性,请在您的情况下,方有一个属性参加,但这就是它将检查,它不会检查此属性的值(在本案中彼得平底锅)。
现在,我假设您希望参加参加列表,在这种情况下,您需要在列表中找到一个值,有多种方式,如果可以使用jQuery,您可以做一些如下:$.inArray( User.getCurrent().username, [ party.attendings ] );
.
如果您没有,请查看刚刚忘记的不同替代方案,以在JavaScript中找到一个数组中的值。
不隶属于 StackOverflow