• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

podmienie wartości obiektu w tablicy

Object Storage Arubacloud
0 głosów
74 wizyt
pytanie zadane 9 marca 2023 w JavaScript przez ferdynand Obywatel (1,250 p.)

Dobry Wieczór, ponawiam pytanie bo utknąłem...

Poniżej tablica do której pushuje dane:

let pricesAndIdObjArray = [];
    const productPricesAndId = document.querySelectorAll('[data-price][data-price-id]').forEach((item) => {
        pricesAndIdObjArray.push({itemId : item.getAttribute('data-price-id'), itemPrice : item.getAttribute('data-price')});
    });

a tutaj funkcja odpowiedzialna za to, że kiedy klikne w dany select to cena produktu mi sie zmienia i wyświetla mi sie ta cena tj. currentPriceAfterSelect, teraz jak zrobić tak, aby ta cena równiez zmieniała sie w tablicy pricesAndIdObjArray. Do czego dąże - chce, aby po wybraniu ilości produktu jego cena mi sie zmieniała i to już osiągnąłem. Zalezy mi też aby zmieniala wartosc w tej tablicy pricesAndIdObjArrayu, bo ona bedzie odpowiedzialna za calkowita sume ceny produktow, ktora obecnie wyswietla mi cene tą podstawową..

czyli sume produktów, które są po jednej ilości.

Już troszke sie nad tym głowie i nie wiem jak to ogarnąć, proszę o jakąś podpowiedż, Miłego wieczoru :) 

 const selectQuantinity = (e) => {
        let option = e.target.value;
        let selectId = e.target.getAttribute("data-id");
        const checkSelect = pricesAndIdObjArray.filter((item) => item.itemId === selectId);   
        const currentPriceAfterSelect = checkSelect.map((item) => item.itemPrice * option);
        console.log(pricesAndIdObjArray)
        let newPriceAfterSelect = e.target.previousElementSibling;
        newPriceAfterSelect.innerHTML = `${currentPriceAfterSelect}$`;
    }
    quantinitySelect.forEach((option) => {option.addEventListener('click', selectQuantinity)});
 }

 

komentarz 11 marca 2023 przez overcq Pasjonat (21,800 p.)
Ja bym użył zwykłej pętli for zamiast filter, ponieważ te funkcje tablicy zwracają nowe tablice. Ewentualnie możesz usunąć element z tablicy i go dodać ponownie.

Zaloguj lub zarejestruj się, aby odpowiedzieć na to pytanie.

Podobne pytania

+1 głos
2 odpowiedzi 342 wizyt
pytanie zadane 9 czerwca 2021 w JavaScript przez Klaudiaaa Początkujący (390 p.)
0 głosów
3 odpowiedzi 547 wizyt
pytanie zadane 30 grudnia 2016 w JavaScript przez Rico305 Nowicjusz (170 p.)
+1 głos
2 odpowiedzi 576 wizyt
pytanie zadane 1 sierpnia 2021 w SQL, bazy danych przez mgab Nowicjusz (160 p.)

92,661 zapytań

141,557 odpowiedzi

319,999 komentarzy

62,028 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...