firsmember,
какие ключи будем проверять? алгоритм сравнения продумайте, пока такой вариант.
<!DOCTYPE html>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
<style type="text/css">
.current-menu-item a{
color: red;
}
</style>
</head>
<body>
<ul class="news-nav-list">
<li><a href="?y=2022&еще всякие запросы">2022</a></li>
<li><a href="?y=2021&еще всякие запросы">2021</a></li>
<li><a href="?y=2018&еще всякие запросы">2018</a></li>
и т.д.
</ul>
<ul class="news-nav-list">
<li><a href="?всякие запросы&m=04">Апрель</a></li>
<li><a href="?всякие запросы&m=09">Сентябрь</a></li>
и т.д.
</ul>
<ul class="news-nav-list">
<li><a href="?всякие запросы&m=04">Апрель</a></li>
<li><a href="?всякие запросы&m=09&y=2018">тест</a></li>
и т.д.
</ul>
<script>
const params = new URLSearchParams("?y=2018&m=09"); //const params = new URLSearchParams(location.search);
document.querySelectorAll(".news-nav-list li").forEach(li => {
let link = li.querySelector("a");
let href = link.href;
let url = new URL(href);
let search = new URLSearchParams(url.search);
li.classList.remove("current-menu-item");
let add = ["y","m"].every(key => params.get(key) == search.get(key));
if(add) li.classList.add("current-menu-item");
})
</script>
</body>
</html>