我在 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/