Соединение не удаляет массив

Я объявляю два массива и устанавливаю интервал внутри. Я проверяю, включает ли текущая страница строковую панель инструментов, если не все элементы с атрибутом 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 не удаляет содержимое в обоих массивах? Что мне здесь не хватает?

0 ответов

Другие вопросы по тегам