Use ...
(Spread syntax)
Example
const element = document.getElementById("left-sidebar");
const has_some = ["left-sidebar", "js-pinned-left-sidebar"];
const result = [...element.classList].some(className => has_some.indexOf(className) !== -1);
// has_some.some(className => [...element.classList].indexOf(className) !== -1);
// or example like @Phil
// has_some.some(className => element.classList.contains(className))
complete functions
/**
* @description determine if an array contains one or more items from another array.
* @param {array} haystack the array to search.
* @param {array} arr the array providing items to check for in the haystack.
* @return {boolean} true|false if haystack contains at least one item from arr.
*/
var findOne = function (haystack, arr) {
return arr.some(function (v) {
return haystack.indexOf(v) !== -1;
});
};
/**
* @description determine if element has one or more className.
* @param {HTMLElement} element element where is going to search classNames.
* @param {array} arrayClassNames Array of Strings, provide to search ClassName in the element
* @return {boolean} true|false if element.classList contains at least one item from arrayClassNames.
*/
var checkElementHasSomeClassName = function (element, arrayClassNames) {
// uncoment and use this return if you don't want the findOne function
// return [...element.classList].some(className => arrayClassNames.indexOf(className) !== -1);
return findOne([...element.classList], arrayClassNames);
};
Links extras:
Spread syntax - browser compatibility
Check if exist one item from array in another array