我正在尝试检查数组中是否包含日期,以便我可以为iOS-Charts提供分数。我有一个过去x天的数组和一系列有效日期。如果日期无效,则score = 0
计算得分。但是,我不认为我的部分是正确的。
func hbiScoreOnCertainDayForLast(days: Int, index: Int) ->(Double){
let hbiValidArray = datesWithSavedDataForLast(days: days)
var answer = [Double]()
let arrayOfDates = today.arrayOfDateForPreviousDays(numberOfDays: days)
for item in arrayOfDates {
if hbiValidArray.contains(arrayOfDates[item]){
answer.append((harvyeBradshawModel.harveyBradshawIndexScore(item as Date)!.doubleValue))
} else {
answer.append(0.0)
}
}
var x = Double()
if answer.count > 0 {
x = answer[index]
}
return x
}
日期数组打印:
[2016-10-04 09:19:23 +0000, 2016-10-03 09:19:23 +0000, 2016-10-02 09:19:23 +0000, 2016-10-01 09:19:23 +0000, 2016-09-30 09:19:23 +0000, 2016-09-29 09:19:23 +0000, 2016-09-28 09:19:23 +0000]
我希望这些天能够得出一系列得分,其中0表示无效分数,并返回双倍索引。
答案 0 :(得分:2)
item
是arrayOfDates
的成员,而不是其中的索引,因此请尝试更改
if hbiValidArray.contains(arrayOfDates[item])
到
if hbiValidArray.contains(item)