Задать вопрос
@cater98

Как удалить элемент из массива в local storage по его индексу?

Я добавляю карточки в корзину с помощью local storage, которые записаны в 1 массив. Как мне удалить карточку по её индексу в этом массиве? Пока что я удаляю только html код карточки

ЭТОТ КОД НА ГЛАВНОЙ СТРАНИЦЕ
window.addEventListener('click', function(event) {
  if(event.target.classList.contains('card-btn') || event.target.classList.contains('adaptive-price')) {

    const cardHTML = event.target.closest('.card')

    const productInfo = {
      img: cardHTML.querySelector('.card-img').classList,
      name: cardHTML.querySelector('.card-title').innerText,
      desc: cardHTML.querySelector('.card-desc').innerText,
      price: cardHTML.querySelector('.card-price').innerText,
    }

    const cartCardHTML = `
    <li class="card">
      <ul class="card-box">
        <li class="${productInfo.img}"></li>

        
        <li class="card-content-box">
          <ul>
            <li class="delete-card-btn-box"><button class="delete-card-btn"></button></li>
            <li class="card-title">${productInfo.name}</li>
            <li class="card-desc">
              ${productInfo.desc}
            </li>
            <li>
              <ul class="price-quantity-box">
                <li class="quantity-box">
                  <button class="quantity-btn minus">-</button>
                  <p class="quantity">1</p>
                  <button class="quantity-btn plus">+</button>
                </li>
                <li class="price">${productInfo.price}</li>
              </ul>
            </li>
          </ul>
        </li>
      </ul>
    </li>
`

    const alreadyInStorageCart = JSON.parse(localStorage.getItem('productInfo')) || "[]"
    const productInfoStorage = localStorage.setItem('productInfo', JSON.stringify([...alreadyInStorageCart, cartCardHTML]))
  }
})


А ЭТОТ В КОРЗИНЕ

const cartCardBox = document.querySelector('.cart-card-box')

if (localStorage.length > 0) {
  cartCardBox.insertAdjacentHTML('beforeend', JSON.parse(localStorage.getItem('productInfo')))
}

window.addEventListener('click', function(event) {
  if (event.target.classList.contains('delete-card-btn')) {
    const Card = event.target.closest('.card')
    Card.remove()
  }
})
  • Вопрос задан
  • 297 просмотров
Подписаться 2 Средний 1 комментарий
Ответ пользователя Александр К ответам на вопрос (3)
AlexanderK-A
@AlexanderK-A
UTC+10
Извлечь из localstorage значение -> преобразовать из строки в массив JSON.parse() -> сделать что надо с массивом -> сохранить в localstorage JSON.stringify()
Ответ написан
Комментировать