[英]how to delete an object with an object key from a map object?
how to delete an object with an object key from a map object? 如何从地图对象中删除带有对象键的对象?
for example if i created a map object called members
例如,如果我创建了一个名为
members
的地图对象
const members = new Map();
here's the normal way for adding a new object inside members
这是在
members
添加新对象的常规方法
//members.set(key, value);
members.set('Evelyn',{name: 'Evelyn', age: 25});
//here's how can we delete this object
members.delete('Evelyn');
but when i started reading about map objects in es6 i was confused that the keys can be an object too!! 但是当我开始阅读es6中的地图对象时,我感到困惑的是键也可以成为一个对象!
Map is an object that lets you store key-value pairs where both the keys and the values can be objects
Map是一个对象,允许您存储键值对,其中键和值都可以是对象
if so how can i delete the one with the object key ? 如果是这样我怎么能删除对象键的那个?
//key as an object
members.set({id: 1}, {
name: 'Evelyn',
age: 30
});
You need eiter the same object reference of the key or seach with some infomation of the object. 您需要使用对象的相同对象引用或对象的某些信息进行搜索。
var members = new Map, id = 1, key; members.set({ id: 1 }, { name: 'Evelyn', age: 30 }); console.log([...members]); // one element for (key of members.keys()) if (key.id === id) members.delete(key); console.log([...members]); // []
.as-console-wrapper { max-height: 100% !important; top: 0; }
let objectKey = {id: 1};
members.set(objectKey, {
name: 'Evelyn',
age: 30
});
members.delete(objectKey);
As of my knowledge Maps compare via reference so this would be the only way. 据我所知,地图比较通过参考,所以这将是唯一的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.