Обновить:
Как правильно заметил @Ryan Leonard, мой ответ на самом деле не фиксирует точку, в которой я себя проявил ... Вам нужно как обрезать, так и удалить двойные пробелы с помощью (например) string.replace (/ + / g, "") Или вы можете разделить el.className, а затем удалить пустые значения с помощью (например) arr.filter (Boolean).
const classes = element.className.split(' ').filter(Boolean);
или более современный
const classes = element.classList;
Старый:
Со всеми приведенными ответами вы никогда не должны забывать пользователя .trim () (или $ .trim ())
Поскольку классы добавляются и удаляются, может случиться так, что между строкой класса будет несколько пробелов, например, 'class1 class2 class3' ..
Это превратится в ['class1', 'class2', '', '', '', 'class3'] ..
Когда вы используете обрезку, удаляются все несколько пробелов.