I'm trying to write some javascript which will change some values held within a JS config object at certain browser breakpoints.
I have stored the window.matchmedia tests within the config object and then I'm looping over this object's keys to add an event listener to each test like so:
Object.keys(config.mediaQueries).map((key) =>{
config.mediaQueries[key].addListener(function(){
console.log("breakpoint change");
});
});
https://codepen.io/decodedcreative/pen/YQpNVO
However when the browser is resized and these listener callback functions run, they appear to run twice. Check the CodePen above with your Console open and you'll see what I mean.
Does anyone know what I've done wrong here?