$('a').click(function (e) {
e.preventDefault(); // prevent default anchor behavior
var goTo = this.getAttribute("href"); // store anchor href
// do something while timeOut ticks ...
setTimeout(function(){
window.location = goTo;
},3000);
});
Проблема в том, что при вызове map_obj.delete({'a':2, 'b':3})
вы вызываете его с новым объектом. Попробуйте:
var map_obj = new Map();
x = {'a':2, 'b':3};
map_obj.set(x, {'c': 4});
//...
map_obj.delete(x);
Самый простой способ - сохранить ссылку на объект в переменной.
var map_obj = new Map(),
object = { a: 2, b: 3 };
map_obj.set(object, {'c': 4});
console.log([...map_obj]);
map_obj.delete(object);
console.log([...map_obj]);
.as-console-wrapper { max-height: 100% !important; top: 0; }
Если у вас есть только части объекта, вам нужно найти этот объект путем сравнения объекта.
var map_obj = new Map(),
a = 2, b = 3,
key;
map_obj.set({ a: 2, b: 3 }, {'c': 4});
console.log([...map_obj]);
key = Array.from(map_obj.keys()).find(o => o.a === a && o.b === b);
map_obj.delete(key);
console.log([...map_obj]);
.as-console-wrapper { max-height: 100% !important; top: 0; }