You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在JavaScript中如何过滤Map中的null值并获取指定条目?

在JavaScript中过滤Map的null值

当然可以,你可以通过以下几种方式实现Map的null值过滤:

方法一:借助数组转换与Map构造函数

先将Map转为键值对数组,过滤掉值为null的条目后,重新构造新Map:

const myMap = new Map([
  ['id1', 'value1'],
  ['id2', null],
  ['id3', 'value3'],
  ['id4', null],
]);

// 过滤值为null的条目,保留非null项(对应id1、id3)
const filteredMap = new Map(
  Array.from(myMap).filter(([key, value]) => value !== null)
);

console.log(filteredMap); // Map(2) { 'id1' => 'value1', 'id3' => 'value3' }

如果你的实际需求是保留值为null的条目(即得到id2、id4),只需调整过滤条件:

const filteredMap = new Map(
  Array.from(myMap).filter(([key, value]) => value === null)
);

console.log(filteredMap); // Map(2) { 'id2' => null, 'id4' => null }

方法二:遍历原Map手动构建新Map

通过forEach遍历原Map,判断值是否符合要求,将符合条件的键值对添加到新Map中:

const filteredMap = new Map();
myMap.forEach((value, key) => {
  if (value !== null) {
    filteredMap.set(key, value);
  }
});

说明

你提到需要得到仅包含id1和id4的Map,但原Map中id4的值为null。如果是要排除值为null的条目,id4会被过滤掉,若这是笔误,可根据实际需求调整过滤条件。

内容的提问来源于stack exchange,提问作者myTest532 myTest532

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 13:40:24