У меня есть массив. Цель состоит в том, чтобы удалить первые два значения индекса. THEN вспомните значения max 3 (а затем и средние значения). Моя проблема вызывает второе и третье максимальное значение Мой метод - вызвать max, затем удалить максимальное значение и вызвать новый массив array1, а затем вызвать максимальное значение из этого массива, которое должно быть вторым вторым наивысшим/максимальным значением.Значение типа Float не имеет зарегистрированного участника
// чтобы вызвать максимальное значение
var ammendedInitialArray = initialArray.dropFirst(2)
var max = Float(-1.0)
var stepmax1 = Int(-1)
for (index, value) in ammendedInitialArray.enumerated() {
if value > max{
max = value
stepmax1 = index
}
ВЫШЕ РАБОТЫ
ammendedInitialArray1 = ammendedInitialArray.remove(at: stepmax1)
var max2 = Float(-1.0)
var stepmax2 = Int(-1)
*****for (index, value) in ammendedInitialArray1.enumerated{ *****
if value > max{
max2 = value
stepmax2 = index
}
***** линия приходит с ошибкой: Значение типа Float имеет ни один член не перечислил
Ну, я не имел в виду, что это плавание, я хочу, чтобы это был массив.
Там несколько вещей, которые здесь касаются меня: ** 1) ** Don 't передать float literal в float, просто назначьте его напрямую: 'var max2: Float = -1.0'. ** 2) Не используйте ['sentinel values'] (https://en.wikipedia.org/wiki/Sentinel_value), например' -1', '' "' и т. Д. В Swift. Это именно то, для чего нужны альтернативы. Я предлагаю вам прочитать [руководство по языку] (https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/TheBasics.html) – Alexander