jak z obiektu dodac wszytskie liczby do siebie aby wynik to była suma tych liczb

0

Witam mam problem z obiektem z którego chciałem się odnieść w tym przypadku do price czyli przechowywanej w niej kwoty ludzi , problem polega na tym ze chciałbym
zsumować wszytskie wyświetlone przeze mnie kwoty i początkowo myslałem nad reduce ale jak odnosze się do tych liczb czyli c.price wtedy zamiast tablicy pojawia sie sam int z liczba
i nie mam już pomysłu jak to dalej zrobić z góry za pomoc PS jestem nowy na tej stronie i nie za bardzo jeszcze wiem jak ładnie stylowac kod zeby był czytelny ;P

const dodaj=document.getElementById('add');
let dodajDane=document.querySelector('.person')
let napis=document.querySelector('.napisss')
let pieniadze=document.querySelector('.pieniadze');
let zwiekszPieniadze=document.querySelector('#zwieksz');
let milionerzy=document.querySelector('#milion');
let totalPrice=document.querySelector('#totalPrice');
let zlicz = document.querySelector('#zlicz');

const persons=[
{name : "Adam Zielony" , price:1000},
{name : "Jarek Czerwony" , price:12000},
{name : "Mateusz Czarny" , price:18000},
{name : "Sztaszek Szary" , price:2000},
{name : "Adam Purpurowy" , price:51000},
{name : "Ewa Fioletowy" , price:145000},
{name : "Oliwier Graatowy" , price:131000},
{name : "Agnieszka Żółty" , price:190000},
{name : "Sylwester Biały" , price:1000001}

]

var f=typeof(persons);
console.log(f);
var count=0;

function add(){

if(count <persons.length){
    let c =persons[count]; 
    count++;
    
 

    var div=document.createElement("div");

    div.classList.add('napisss')
    dodajDane.appendChild(div);
    div.textContent=c.name;

    div.textContent+= " "  +c.price + "$";

    var div1=document.createElement("div");
    dodajDane.appendChild(div1);
    div1.classList.add('waluta')

    div.textContent=c.name;
 let d = div1.textContent=c.price + "$";







    
    function a(){

      let wynik = c.price*=2; 
    div1.textContent=wynik + "$";
  

}

function pokazMilionerow(){

if(c.price>=1000000){
div.textContent=c.name;
div1.textContent=c.price + "$";
// console.log(c);
}
else if(c.price<1000000){
//filter
dodajDane.removeChild(div1);
dodajDane.removeChild(div);
}

}

function policzSume(){
var div2=document.createElement("div")
totalPrice.appendChild(div2)
div2.classList.add('show')

}
zwiekszPieniadze.addEventListener('click' , a);
milionerzy.addEventListener('click' , pokazMilionerow)

zlicz.addEventListener('click' , policzSume);
}

}

dodaj.addEventListener('click' , add);

1

napisss

WTF?

BTW czy to tajny przekaz?

person na pis. pieniądze zwiększ. milion totalPrice zlicz xD

zsumować wszytskie wyświetlone przeze mnie kwoty i początkowo myslałem nad reduce ale jak odnosze się do tych liczb czyli c.price wtedy zamiast tablicy pojawia sie sam int z liczba

Bo tak ma być (pomijajac, że to number a nie int). W sensie jak liczysz sumę, to pojawi się suma. Czego oczekujesz?

const arr = [ { price: 10 }, { price: 20 }, { price: 30 } ];
const sum = arr.reduce((acc, o) => acc + o.price , 0);
console.log(sum); // 60
0

Nie czaje ciebie ale zrobiłbym tak jak LukeJL, jak chcesz to miec w tablicy to pushnij do nowej tablicy? xd

const persons=[
{name : "Adam Zielony" , price:1000},
{name : "Jarek Czerwony" , price:12000},
{name : "Mateusz Czarny" , price:18000},
{name : "Sztaszek Szary" , price:2000},
{name : "Adam Purpurowy" , price:51000},
{name : "Ewa Fioletowy" , price:145000},
{name : "Oliwier Graatowy" , price:131000},
{name : "Agnieszka Żółty" , price:190000},
{name : "Sylwester Biały" , price:1000001}

]

let calc = persons.reduce((i,x) => i + x.price, 0 );

let tab = [];

tab.push(calc);

console.log(calc);
console.log(tab);

1 użytkowników online, w tym zalogowanych: 0, gości: 1