Swift 检查数组是否包含在另一个数组中

Swift Check if array is contained in another array

我正在尝试检查日期是否包含在数组中,以便我可以为 iOS-Charts 打分。我有过去 x 天的数组和有效日期的数组。如果日期无效,则 score = 0 否则计算分数。但是我认为我的 for in 部分不正确。

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 表示无效分数,return 双精度表示索引。

itemarrayOfDates 的成员,而不是它的索引,所以尝试更改

if hbiValidArray.contains(arrayOfDates[item])

if hbiValidArray.contains(item)