感谢您的关注
任务是编写一个函数,从整数数组中删除第一次出现的给定整数。
有我的解决方案:
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”类型,但有没有更好的方法来解决这个问题而没有任何类型的转换?
答案 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
}