Here I am trying to store my array in local storage but in local storage I is not getting store and I am getting an empty array and if I try to store any other string it works perfectly fine also if I try to store any other random array that also works only the array which I am dynamically generating is not getting stores:
const main = document.getElementById("main");
const form = document.getElementById("form");
const search = document.getElementById("search");
let arr=[];
showMovies(apiUrl);
function showMovies(url) {
  arr = [];
  fetch(url)
    .then((res) => res.json())
    .then(function (data) {
      console.log(data.results);
      data.results.forEach((element) => {
        let movYear = new Date(element.release_date);
        const el = document.createElement("div");
        const image = document.createElement("img");
        const title = document.createElement("h2");
        const year = document.createElement("h2");
        const rank = document.createElement("h2");
        const node = document.createTextNode("Favrouite: ")
        const wrapper = document.createElement("h2");
        const fav = document.createElement("INPUT");
        
        title.classList.add("title");
        fav.setAttribute("type", "radio");
        fav.setAttribute("id", element.id);
        fav.classList.add("fav")
        
        
        wrapper.insertBefore(node, wrapper.children[0]);
        wrapper.appendChild(fav);
        title.innerHTML = `Title:  ${element.title}`;
        year.innerHTML = `Release:  ${movYear.getFullYear()}`;
        rank.innerHTML = `Rating:  ${element.popularity}`;
        image.src = IMGPATH + element.poster_path;
        el.appendChild(image);
        el.appendChild(title);
        el.appendChild(year);
        el.appendChild(rank);
        el.appendChild(wrapper);
        main.appendChild(el);
        
      });
      main.addEventListener("click",function(e) {
        const tgt = e.target;
        if (tgt.matches(".fav")) {
          console.log(tgt.closest("div").querySelector("h2.title").textContent);
           arr.push(tgt.closest("div").querySelector("h2.title").textContent);
        }
      })
    });
}
console.log(arr)
localStorage.setItem('test', JSON.stringify(arr));
// Retrieve the object from storage
// var retrievedObject = localStorage.getItem('test');
// console.log( retrievedObject);
let searchTerm;
form.addEventListener("submit", (e) => {
  e.preventDefault();
  main.innerHTML = "";
  searchTerm = search.value;
  
  if (searchTerm) {
    showMovies(SEARCHAPI + searchTerm)
      search.value = "";
    }
    else if(!searchTerm){
      showMovies(apiUrl)
    }
    else {
        main.innerHTML = "<h1>No result Found!</h1>";
    }
});