javascript - 我们如何从 js Map 对象中删除特定对象?

标签 javascript arrays reactjs javascript-objects

我在 js Map 对象中有一些对象。我们如何删除具有特定键和值的对象?

let newMap = new Map()

newMap.set('1', {ep: '1', name: 'First test'})
newMap.set('2', {ep: '2', name: 'Second test'})

因此,上面的示例在 newMap 中保存了两个对象。如何删除 ep 值为“1”的对象,以便 newMap 哈希仅返回一个对象,即 {ep: ​​'2', name: 'Second test'}

最佳答案

您已将其存储在'1'键下。所以你调用delete用那个键:

newMap.delete('1');

如果您不知道存储它的 key ,Map 可能不是您想要的结构,但您可以通过循环 entries 找到它,它返回一个数组,其条目为 [key, value] 格式的数组:

for (const entry of newMap.entries()) { // for-of is ES2015+
    if (entry[1].ep === '1') {
        newMap.delete(entry[0]);
        break;
    }
}

...或者使用 ES5:

newMap.entries().some(function(entry) {
    if (entry[1].ep === '1') {
        newMap.delete(entry[0]);
        return true;
    }
});

关于javascript - 我们如何从 js Map 对象中删除特定对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52289193/

相关文章:

javascript - FullCalendar 匹配部分内容的输入文本过滤器

arrays - 为什么取消引用 char** 值(指针到指针到字符)与取消引用 char*[](指针到字符数组)不同?

c++ - print 函数中的 for(auto) 循环抛出错误,为什么?

javascript - React Native <Modal/> onDismiss 未被调用

javascript - 引导日期时间选择器更改

javascript - 选择经度和纬度最接近的记录

C++ 在从文件中获取数据时使用 strcpy 和 strcmp 按字母顺序对数组进行排序?

javascript - 如何将 Prop 传递给 Material UI 类

javascript - 如何使用 React 切换复选框以将样式更改为删除线

javascript 不工作 - $ 未定义问题