如何在 JavaScript 中过滤 Map
使用 forEach()
方法在 JavaScript 中过滤 Map。 使用 Map 中的每个键值对调用该方法,我们可以在其中检查条件并使用 delete()
方法删除我们想要过滤掉的任何 Map 元素。
const map1 = new Map([
['num1', 1],
['num2', 2],
['num3', 3],
]);
map1.forEach((value, key) => {
if (value > 1) {
map1.delete(key);
}
});
// 👇️ {'num1' => 1}
console.log(map1);
我们使用 Map.forEach
方法迭代 Map 对象。
我们传递给 forEach()
方法的函数会为 Map 的每个键值对调用,并传递以下参数:
- value - 迭代的值
- key - 迭代的关键
- map - 地图对象
我们使用 value 来检查条件,并使用 key 来删除 Map 中不需要的任何元素。
另一种方法是将 Map 方法转换为数组并使用 filter 方法。
在 JavaScript 中过滤Map:
- 将 Map 转换为数组。
- 使用 filter() 方法遍历数组。
- 排除不符合条件的元素。
- 将数组转换回 Map。
const map1 = new Map([
['num1', 1],
['num2', 2],
['num3', 3],
]);
const filtered = new Map(
Array.from(map1).filter(([key, value]) => {
if (value > 1) {
return true;
}
return false;
}),
);
// 👇️ {'num2' => 2, 'num3' => 3}
console.log(filtered);
我们使用 Array.from
方法将 Map 转换为键值对数组。
const map1 = new Map([
['num1', 1],
['num2', 2],
['num3', 3],
]);
// 👇️ [['num1', 1], ['num2', 2], ['num3', 3]]
console.log(Array.from(map1));
当我们将 Map 转换为数组时,我们会得到一个二维数组,我们可以在该数组上调用 filter 方法。
每个子数组中的第一个元素是键,第二个元素是对应的值。
我们使用解构赋值来解构我们传递给过滤器方法的回调函数中的键和值。
const [key, value] = ['num1', 1];
console.log(key); // 👉️ num1
console.log(value); // 👉️ 1
在回调函数中,我们检查一个条件,如果条件满足则返回 true,否则返回 false。
filter 方法返回一个仅包含元素的新数组,回调函数为其返回一个真值。
最后一步是使用 Map()
构造函数将数组转换回 Map。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 Go 中声明常量 Map
发布时间:2023/04/27 浏览次数:126 分类:Go
-
Map 是可以按任何顺序排序的键值对的集合。 它为键分配值。它是计算机科学中常见的数据结构。 在本文中,我们将介绍在 Go 中声明常量映射。
在 Golang 中合并两个 Map
发布时间:2023/04/27 浏览次数:144 分类:Go
-
本篇文章介绍如何在 Golang 中合并两个 map。Golang 不提供任何内置功能来合并映射,但这可以使用 Copy 方法或遵循相应的过程来实现。 让我们试试这两种方法。
GoLang 元素为 map 的 map
发布时间:2023/04/27 浏览次数:141 分类:Go
-
本篇文章介绍如何在 Go 语言中创建 Map 的 Map。Map的Map或嵌套映射是那些键值对值也是 Map 的 Map。 在 Go 语言中可以创建Map的Map。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。