Это похоже на другой ответ, но позволяет вам посылать, сколько (затем END с slice()
) и массив в функцию, и я добавляю класс - который может включать в себя сокрытие.Поэтому, чтобы скрыть их все, просто передайте 0 на hideSome(0, testfilters);
.Вы также можете изменить это, чтобы скрыть все, НО последние 6, ваш вопрос и комментарии сделали ваше намерение несколько переменным / неясным, таким образом, этот ответ.
function hideSome(howMany = 6, testArr) {
let things = $('ul.list.available').find('li');
let filteredThings = things.filter(function(index, element) {
return testArr.includes(element.innerText);
});
filteredThings
.slice(-howMany)
.addClass("what-to");
}
let testfilters = ["Cat", "Dog", "Buffalo", "Ant", "Mice", "Rat"];
hideSome(6, testfilters);
.what-to {
border: solid red 1px;
}
.found{color: blue;}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<ul class="list available">
<li>I am 0</li>
<li>I am 1</li>
<li>Rat</li>
<li>rat</li>
<li>I am 4</li>
<li>Mice</li>
<li>I am 6</li>
<li>Ant</li>
<li>I am 8</li>
<li>mice</li>
<li>Cat</li>
<li>Chicken</li>
<li>Hog</li>
<li>I am 13</li>
<li>Ant</li>
<li>Pant</li>
<li>Mice</li>
<li>Buffalo</li>
<li>Rat</li>
<li>The end</li>
</ul>
<div id="indicator"></div>