Соединение не удаляет массив
Я объявляю два массива и устанавливаю интервал внутри. Я проверяю, включает ли текущая страница строковую панель инструментов, если не все элементы с атрибутом href, начинающимися с mailto, добавляются в массив элементов и вызывается функция createEmailList.
createEmailList просматривает все элементы в массиве elements, и если содержимое не находится в массиве emails или не равно help@gm.com, оно добавляется в DOM к некоторому div с электронными письмами id.
let emails = [];
let elements = []
setInterval(function() {
let currentPage = window.location.href;
if (!currentPage.includes("dashboard")) {
elements = Array.from(document.querySelectorAll("[href^='mailto']"));
createEmailList();
copyEmail();
}else{
deleteList();
emails.splice(0,emails.length)
elements.splice(0,elements.length)
}
}, 1000);
function createEmailList() {
const myNode = document.querySelector("#emails");
for (let i = 0; i < elements.length; i++) {
let email = elements[i].innerText;
if (!emails.includes(email) && email != "help@gm.com") {
emails.push(email);
const content = `
<input type="text" class="input-email" value="${email}" id="${i}">
<button class="btn-email" id="${i}">Copy</button>`;
const emailDiv = document.createElement("div");
emailDiv.innerHTML = content;
myNode.appendChild(emailDiv);
}
}
}
Проблема в том, что когда я перехожу на страницу, которая включает в себя панель мониторинга в URL, я хочу удалить все элементы в обоих массивах (элементы, электронные письма). Похоже, что он делает то, что нужно, но когда я перехожу с панели инструментов на страницу, которая снова не включает панель инструментов, она показывает мне электронные письма с первой страницы, на которой я был в начале.
Почему splice не удаляет содержимое в обоих массивах? Что мне здесь не хватает?