2016-10-05 2 views
1

Я пытаюсь проверить, содержится ли дата в массиве, поэтому я могу дать оценку для iOS-Charts. У меня есть массив прошлых x дней и массив допустимых дат. Если дата недействительна, то score = 0 иначе счет рассчитывается. Однако я не думаю, что у меня есть право в разделе правильно.Swift Проверьте, содержится ли массив в другом массиве

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

http://stackoverflow.com/questions/25714985/how-to- определить,-если-один-массив-содержит-все-элементы-OF-другого массива-в-быстры –

ответ

2

item является членом arrayOfDates, а не индекс в нем, поэтому попробуйте изменить

if hbiValidArray.contains(arrayOfDates[item]) 

в

if hbiValidArray.contains(item) 
Смежные вопросы