我想知道是否有可能从1-5评价一件事然后计算其平均值?例如,我有产品"牛奶"用" rate":0。 是否可以计算有多少用户对其进行了评分,然后计算出计算率/有多少用户给出评级=评级?
为了清楚说明:我给牛奶评分为3,你用1评分,然后平均值为(3 + 1)/ 2 =率:2
我应该在用户端进行此计算,还是可以将Firebase结束?
我应该用什么逻辑?
最难的是要记住有多少用户对产品进行了评分。我想我可以做其他事情。
我应该制作新密钥:值如计数并在每次用户评价时增加计数?
编辑:我尝试过这样的事情,但这会导致nil:
let rate = self.productsValue[indexPath.row]["rate"] as? Int
print("rate",rate)
let count = self.productsValue[indexPath.row]["count"] as? Int
print("count",count)
let rating = Int(rate!) / Int(count!)
print(rating)
答案 0 :(得分:-1)
为了获得平均评分以及给予它一定评级的用户数量,我建议使用这种JSON树:
Products
Milk:
...
nrOfUsersGivenRating0: 15
nrOfUsersGivenRating1: 54
nrOfUsersGivenRating2: 12
nrOfUsersGivenRating3: 32
nrOfUsersGivenRating4: 21
nrOfUsersGivenRating5: 65
然后,您可以在客户端计算投票的用户总数,平均评分,并轻松获得投票给某个评级的用户数。希望它有所帮助!