javascript - 在 Javascript 映射中查找值
问题描述
如何在 Javascript 中找到特定值的第一次出现Map
?例如:
const m = new Map();
m.set("a", "b");
m.set("c", "d");
m.set("e", "f");
m.set("g", "f");
// Then I want to do something like this:
m.find_value((v) => v === "f");
理想情况下,它将键和值作为元组(2 元素数组)返回,即["e", "f"]
.
显然,使用 for 循环手动编写代码是微不足道的,但是有没有更简洁的内置方式?
解决方案
好像没有比自己写更好的办法了,像个平民一样。
function find_map_value<K, V>(m: Map<K, V>, predicate: (v: V) => boolean): [K, V] | undefined {
for (const [k, v] of m.entries()) {
if (predicate(v)) {
return [k, v];
}
}
return undefined;
}
推荐阅读
- javascript - 按一个键分组并根据一个键获取整个对象
- c++ - std::list remove 函数给出结构数据的编译错误
- android - 将 Flutter 连接到真实设备中的 localhost 服务器
- command-line-interface - quasar 框架如何使用更少?
- mysql - 如何根据另一个表上的选择结果更新行?
- powershell - powershell中的git命令(带grep)
- docker - Gitlab Ci 配置 IPV6
- java - Jar 服务的日志文件创建问题
- java - 使用 sha256 的 Java 和 Go 哈希值不同
- reactjs - React Native Navigation 5 导入“元素类型无效”