ES6中删除key为空的map项

道上规矩 先上代码


let mp = new Map();

mp.set({}, 'obj11');

mp.set({}, 'obj12');

mp.set([], 'obj21');

mp.set([], 'obj22');



//get test

mp.get({})    //undefined

mp.get([])    //undefined


//delete test 

mp.delete({})    //false

mp.delete([])    //false     

发现可以设置空的对象和数组 但是都无法取得或者删除,这是怎么回事呢 寻求正确的打开姿势!


回首忆惘然
浏览 1716回答 2
2回答

慕侠2389804

console.log([] === []) // false每次都是一个新对象,你要先保留引用let arr = []再去 set 和 get 就可以了

慕桂英4014372

set() 方法为Map对象添加一个指定键(key)和值(value)的新元素。var mp = new Map(), a = {}, var b = [];mp.set(a, 'this is a');mp.get(a); //"this is a"mp.set(b, 'this is b');mp.get(b); //"this is b"mp.delete(a)//truemp.delete(b)//truemp.get(a) //undefinedmp.get(b) //undefined
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript