Откуда надо получить классы:
const inputs = document.querySelectorAll('ol input');
Получаем уникализированный массив классов:
const classes = [...new Set(Array.prototype.flatMap.call(
inputs,
n => [...n.classList]
))];
Или, получаем всё, что есть:
const classes = Array
.from(inputs, n => Array.from(n.classList))
.flat();
// или
const classes = [].concat.apply(
[],
[].map.call(inputs, n => n.className.split(' '))
);
// или
const classes = [];
for (const n of inputs) {
for (const m of n.classList) {
classes.push(m);
}
}
// или
const classes = [];
for (let i = 0; i < inputs.length; i++) {
for (let j = 0; j < inputs[i].classList.length; j++) {
classes[classes.length] = inputs[i].classList[j];
}
}
// или
const getClasses = (classList, i, n = classList.item(i)) =>
n ? [ n, ...getClasses(classList, -~i) ] : [];
const classes = (function get(i, n = inputs.item(i)) {
return n ? [ ...getClasses(n.classList, 0), ...get(++i) ] : [];
})(0);