У меня есть массив с элементами, и массив с индексами, чтобы удалить из первого массива:создать массив из выбранных элементов в массиве Плодовые пунктов
var array = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]
let indicesToDelete = [4, 8]
let reducedArray = indicesToDelete.reverse().map { array.removeAtIndex($0) }
reducedArray // prints ["i","e"]
Что делать, если мой массив выглядит следующим образом:
class Fruit{
let colour: String
let type: String
init(colour:String, type: String){
self.colour = colour
self.type = type
}
}
var arrayFruit = [Fruit(colour: "red", type: "Apple"),Fruit(colour: "green", type: "Pear"), Fruit(colour: "yellow", type: "Banana"),Fruit(colour: "orange", type: "Orange")]
let indicesToDelete = [2,3]
Если я просто использую вышеуказанный код, я получаю сообщение об ошибке.
let reducedArray = indicesToDelete.reverse().map { arrayFruit.removeAtIndex($0) }////// error here
Мои вопросы о том, что fruitArray сделана из объектов, и я не знаю, как настроить код в строке выше.
жаль, Мэтт, я не достаточно специфичны. в fruitArray я просто хочу удалить, например. item 1 (Apple) – kangarooChris
ну, вы правы, это работает, и я люблю forEach лучше, так как я могу понять это лучше, чем карта – kangarooChris