arrays - 通过removeAtIndex(Index : Int) function)从数组中删除特定元素时出现问题

标签 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 类型,但索引变量是索引类型。我想我可以以某种方式将“Index”类型转换为“Int”类型,但是有没有更好的方法来解决这个问题而不需要任何类型转换?

最佳答案

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

关于arrays - 通过removeAtIndex(Index : Int) function)从数组中删除特定元素时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37051758/

相关文章:

php - 如何在不使用数组反转方法的情况下反转 php 中的数组

python - 将时间数组(事件)转换为时间 x 之前的事件数数组

ios - 如何在UIImageView中实现底部自定义曲线和顶部圆角半径?

ios - 在 ViewController 中找到 indexPath

php - 服务器端处理的DataTable上的"Column Index"

c++ - C++ 如何将命令行参数转换为数组?

c# - 检索三列并按一分组

ios - 检查元素是否是数组中的数字

ios - 在 swift 中,单击按钮不会激活操作

java - Lucene 索引器在小型文档集合上出现内存不足问题