removeAtIndex(Index:Int)函数

时间:2016-05-05 13:21:34

标签: arrays swift indexing

感谢您的关注

任务是编写一个函数,从整数数组中删除第一次出现的给定整数。

有我的解决方案:

func removeOnce(itemToRemove: Int, fromArray:[Int]) -> [Int]{
    var resultArray = fromArray

    if let index = fromArray.indexOf(itemToRemove){
        resultArray = resultArray.removeAtIndex(index)
        return resultArray
    }
}

我遇到了错误,因为函数 removeAtIndex(Index:Int) 的文章应该是Int类型,但索引varialbe是索引类型。我想我可以以某种方式将“索引”类型转换为“Int”类型,但有没有更好的方法来解决这个问题而没有任何类型的转换?

2 个答案:

答案 0 :(得分:2)

removeAtIndex(_:)从数组中删除该索引处的元素,并返回该元素,而不是数组。数组已就地编辑,因此要么返回segment,要么将方法更改为不返回任何内容(因为删除是在就地完成,在现有数组上,并且不返回修改后的副本)。 / p>

答案 1 :(得分:-1)

func removeOnce(itemToRemove: Int, fromArray:[Int]) -> [Int]{
    var resultArray = fromArray

    if let index = fromArray.indexOf(itemToRemove){
        resultArray.removeAtIndex(index)
    }
    return resultArray
}