小编Bat*_*dın的帖子

根据索引删除循环中向量的元素

假设我有一个向量,值从 1 到 10。我希望如果您发现 5 和 5 彼此相邻,请将它们与下一个元素一起删除。

输入

[1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10]
Run Code Online (Sandbox Code Playgroud)

预期产出

[1, 2, 3, 4] 
Run Code Online (Sandbox Code Playgroud)

这是我的尝试。我正在寻找要删除的索引,但借用规则使我陷入困境。

let mut element = vec![1, 2, 3, 4, 5, 5, 6, 7, 8, 9, 10];
for (index, val) in element.iter().enumerate() {
    if *val == 5 {
        if let Some(next_val) = element.get(index + 1) {
            if *next_val == 5 {
                //element.drain(index..);
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

vector rust borrow-checker

2
推荐指数
1
解决办法
123
查看次数

标签 统计

borrow-checker ×1

rust ×1

vector ×1