[英]how to delete an object with an object key from a map object?
如何从地图对象中删除带有对象键的对象?
例如,如果我创建了一个名为members
的地图对象
const members = new Map();
这是在members
添加新对象的常规方法
//members.set(key, value);
members.set('Evelyn',{name: 'Evelyn', age: 25});
//here's how can we delete this object
members.delete('Evelyn');
但是当我开始阅读es6中的地图对象时,我感到困惑的是键也可以成为一个对象!
Map是一个对象,允许您存储键值对,其中键和值都可以是对象
如果是这样我怎么能删除对象键的那个?
//key as an object
members.set({id: 1}, {
name: 'Evelyn',
age: 30
});
您需要使用对象的相同对象引用或对象的某些信息进行搜索。
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);
据我所知,地图比较通过参考,所以这将是唯一的方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.