编写Swift删除数组指定索引元素函数时报错该如何解决?
错误原因
- 拼写错误:代码第3行误用未定义变量
arra,实际传入的数组参数名为arr - 类型错误:第3行将数组指定索引位置的单个Int值赋值给
array变量,此时array为Int类型,不存在数组的remove(at:)方法,触发报错 - 逻辑错误:
remove(at:)方法的返回值是被删除的元素,而非操作后的数组,直接返回该值不符合需求
修正后代码
func deleteElementInArray(arr: [Int], index: Int) -> [Int] { // 索引合法性校验,避免越界崩溃 guard index >= 0 && index < arr.count else { return arr } var mutableArray = arr mutableArray.remove(at: index) return mutableArray }
效果验证
输入 deleteElementInArray(arr: [-3, 4, 0], index: 0),输出结果为[4, 0],符合预期。
内容的提问来源于stack exchange,提问作者Sami Alotaibi
相关产品推荐
相关产品推荐

