Поскольку метод add
принимает несколько классов в качестве параметров, вы можете использовать расширенный синтаксис ...
для ключей объекта, чтобы передать каждый элемент из ключей как класс.
var breakpoints = { "extraSmall" : [ "only screen and (max-width: 575px)" ], "small" : [ "only screen and (min-width: 576px) and (max-width: 767px)" ], "medium" : [ "only screen and (min-width: 768px) and (max-width: 991px)" ], "large" : [ "only screen and (min-width: 992px) and (max-width: 1199px)" ], "extraLarge" : [ "only screen and (min-width: 1200px)" ],}
const div = document.querySelector('div');
const classes = Object.keys(breakpoints);
div.classList.add(...classes);
<div>Div</div>
Для более старых версий браузеров, которые не поддерживают синтаксис распространения, вы можете использовать метод apply
.
var breakpoints = { "extraSmall" : [ "only screen and (max-width: 575px)" ], "small" : [ "only screen and (min-width: 576px) and (max-width: 767px)" ], "medium" : [ "only screen and (min-width: 768px) and (max-width: 991px)" ], "large" : [ "only screen and (min-width: 992px) and (max-width: 1199px)" ], "extraLarge" : [ "only screen and (min-width: 1200px)" ],}
const div = document.querySelector('div');
const classes = Object.keys(breakpoints);
div.classList.add.apply(div.classList, classes)
<div>Div</div>