rust - 如何以函数的方式在向量中查找值并返回其索引?
问题描述
我在文档中找不到允许编写与此等效的代码的迭代器方法:
let v = vec![1,2,3];
let key_of_two = v.iter().find_key(|x| x == 2);
assert_eq!(key_of_two, 1)
只有find
方法,但是如何返回索引而不是元素?
解决方案
幸运的是Iterator::position
:
let v = vec![1,2,3];
let key_of_two = v.iter().position(|&x| x == 2);
assert_eq!(key_of_two, Some(1));
推荐阅读
- r - 将表达式传递给函数以在 data.table 内进行评估以允许内部优化
- kubernetes - PersistentVolume 中的属性 storageClassName
- flutter - 如何在 Flutter 桌面应用程序中注册全局键盘快捷键?
- c++ - 在类层次结构中使用 static_cast 来启用访问者模式
- graphql - GraphQL - 如何搜索多个字段?
- reactjs - 如何在没有组件名称的情况下导出默认组件?
- c++ - 将 push_back() 与基于范围的 for 循环一起使用
- graph - 图 API 按元数据/列值搜索
- c# - 泛型类和其他程序语法问题在 foreach 循环中产生错误
- arrays - 如何在 Swift 中对数组中的项目进行迭代移动