Итак, что-то меня беспокоит из-за синтаксиса в Swift для выполнения операций над массивами чисел.
Я хочу сделать следующее: у меня есть массив чисел, который выводится из функции, его размер (count) в настоящий момент варьируется, скажем, от 2 до 6, в зависимости от кнопок, которые я нажимаю в своем приложении.
Для каждого массива, который выводится и содержит n int, я хочу создать n массивов для выполнения другое действие позже.
Предполагается, что эти "под" массивы должны быть рассчитаны следующим образом:
значения newArray1 должны быть значениями массива - значение первого индекса newArray1
значения newArray2 должны быть значениями массива - значение второго индекса newArray2 et c ... (Я автоматизирую число newArrays в соответствии с array.count)
Другое условие, применяемое для эти новые массивы таковы, что если при заданном индексе значение является отрицательным, я добавляю 12 (поэтому это будет происходить для newArray2 в индексе 1, для newArray3 в индексах 1 & 2 и т. д. c ... a пока эти новые массивы созданы). Вот как я хотел это сделать (я создал это с помощью произвольного произвольного массива на игровой площадке для тестирования перед тем, как вставлять в код моего приложения нужные данные):
var array : [Int] = [2,4,6,8,9]
var newArray2 = [Int]()
var increment2 = Int()
increment2 = array[1]
newArray2 = array.map {$0 - increment2}
for i in 0..<newArray2.count {
if array[i] < 0 {
newArray2[i] = array[i] + 12
} else {
newArray2[i] = array[i]
}
}
print(array)
print(newArray2)
Так что, конечно, это не так работать, потому что я не могу понять, как правильно выполнять операции над массивами ... Интуитивно кажется, что в моем первом операторе if я сравниваю не элемент с индексом i, а сам i, но не уверен, как это переформатировать ... .
Любая помощь приветствуется, спасибо заранее! :)
[РЕДАКТИРОВАТЬ: я только что отредактировал имена newArray1 в newArray2, то же самое для приращений, так что у меня есть отрицательные значения, и это соответствует значению индекса 1, который является вторым элементом моего основного массива]