classArray[0], classArray[1], classArray[2]
ваши единственные действительные пункты.
classArray[0][2]
означает, что в classArray[0]
есть другой массив.
Пример
const classArray = [['a1', 'a2', 'a3'], "Item 1", "Item 2"]
classArray[0][2] => 'a3'
classArray[1][0] => error
classArray[2] => 'Item 2'
Вы должны будете отдельно скрыть каждый отдельный элемент.
Предоставление только от classArray
до $()
недопустимо, поскольку оно ожидает string
не array
Вы можете преобразовать свой массив в строку и передать это значение в $()
Пример 1
const knownClasses = [".item-1", ".item-2", ".item-3"]
// You can use .slice(startIndex, endIndex) to slice a portion of the array
const items = knownClasses.join()
console.log(items) // `.item-1 .item-2 .item-3`
$(items).hide
Пример 2
function determineVisibility(classArr, acceptedSet) {
const showClasses = [];
const hideClasses = [];
classArr.forEach(c => {
if (acceptedSet.includes(c)) {
showClasses.push(c);
} else {
hideClasses.push(c);
}
});
return { showClasses: showClasses.join(), hideClasses: hideClasses.join() };
}
const classArr = [".class-1", ".class-2", ".class-3", ".class-4"];
const acceptedSet = [".class-1", ".class-4"];
const { showClasses, hideClasses } = determineVisibility(classArr, acceptedSet);
$(showClasses).show();
$(hideClasses).hide();
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="class-1">1</div>
<div class="class-2">2</div>
<div class="class-3">3</div>
<div class="class-4">4</div>
<div class="class-5">5</div>