Swift 评级系统循环和分配
Swift rating system loop and assign
尝试在 Swift 中构建评级系统并寻找一种更简洁的方法来遍历每个值。
private func calculateRating(user: String) throws -> String {
let query = try Rating.makeQuery().filter("user", user).all()
var fiveStars = [Int]()
var fourStars = [Int]()
var threeStars = [Int]()
var twoStars = [Int]()
var onestar = [Int]()
if query.count > 1 {
for rating in query {
// Check each value and assign it to its associated value
// insert large if/else condition here :)
}
// Perform calculation and return value below
return ""
} else {
// Only one rating has been set
return query[0].value
}
}
目前我正在遍历每个值并将评分分配给它的关联数组 fiveStars
fourStars
等。然后我将通过标准乘法方法计算评分。有没有更简洁的方法来遍历评级并将其分配给相关的 fiveStars
数组等而不创建长 if/else 条件?
谢谢
编辑:示例输出将是基于 1000 多个评级的一个四舍五入的值(满分 5),即五分之“4”。
let twoStars: [Int] = query.filter {[=10=].val == 2} .map {[=10=].val}
以此类推
尝试在 Swift 中构建评级系统并寻找一种更简洁的方法来遍历每个值。
private func calculateRating(user: String) throws -> String {
let query = try Rating.makeQuery().filter("user", user).all()
var fiveStars = [Int]()
var fourStars = [Int]()
var threeStars = [Int]()
var twoStars = [Int]()
var onestar = [Int]()
if query.count > 1 {
for rating in query {
// Check each value and assign it to its associated value
// insert large if/else condition here :)
}
// Perform calculation and return value below
return ""
} else {
// Only one rating has been set
return query[0].value
}
}
目前我正在遍历每个值并将评分分配给它的关联数组 fiveStars
fourStars
等。然后我将通过标准乘法方法计算评分。有没有更简洁的方法来遍历评级并将其分配给相关的 fiveStars
数组等而不创建长 if/else 条件?
谢谢
编辑:示例输出将是基于 1000 多个评级的一个四舍五入的值(满分 5),即五分之“4”。
let twoStars: [Int] = query.filter {[=10=].val == 2} .map {[=10=].val}
以此类推