从数组中删除指定元素

在数组中删除数据时,数组的序号会发生改变,以下方法实现了 删除数组中指定值的所有条目。


//获取正确的删除索引

func getRemoveIndex<T: Equatable>(value: T, array: [T]) -> [Int]{

    

    var indexArray = [Int]()

    var correctArray = [Int]()

    

    

    //获取指定值在数组中的索引

    for (index,_) in enumerate(array) {

        if array[index] == value {

            indexArray.append(index)

        }

    }

    

    //计算正确的删除索引

    for (index, originIndex) in enumerate(indexArray){

        //指定值索引减去索引数组的索引

        var correctIndex = originIndex - index

        

        //添加到正确的索引数组中

        correctArray.append(correctIndex)

    }

    

    return correctArray

}



//从数组中删除指定元素

func removeValueFromArray<T: Equatable>(value: T, inout array: [T]){

    

    var correctArray = getRemoveIndex(value, array)

    

    //从原数组中删除指定元素

    for index in correctArray{

        array.removeAtIndex(index)

    }

    

}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值