• 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
71 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,710 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 318 wizyt
pytanie zadane 9 czerwca 2021 w JavaScript przez Klaudiaaa Początkujący (390 p.)
0 głosów
3 odpowiedzi 530 wizyt
pytanie zadane 30 grudnia 2016 w JavaScript przez Rico305 Nowicjusz (170 p.)
+1 głos
2 odpowiedzi 526 wizyt
pytanie zadane 1 sierpnia 2021 w SQL, bazy danych przez mgab Nowicjusz (160 p.)

92,570 zapytań

141,422 odpowiedzi

319,644 komentarzy

61,959 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

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

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!

...