簡體   English   中英

如何從地圖對象中刪除帶有對象鍵的對象?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM