Reducella saa ainakin jokaisen arvon erikseen näppärästi, mutta voikohan sitä käyttää myös jotenkin "niputettuna", että selvittäisiin yhdellä silmukalla, ettei ao. esimerkissä tarvitsisi tehdä jokaiselle keylle omaa reducea.
Eli että saataisiin heitetty suoraan muuttujiin [xKeskiarvo, yKeskiarvo, zKeskiarvo]=taulukko.reduce.. jne. Liekö mahdollista?
//---
const piste1 = { x: 1, y: 2, z: 3 }
const piste2 = { x: 4, y: 5, z: 6 }
const piste3 = { x: 7, y: 8, z: 9 }
const taulukko = [ piste1, piste2, piste3 ]
const xKeskiarvo = taulukko.reduce((summa, { x }) => summa x, 0) / taulukko.length
const yKeskiarvo = taulukko.reduce((summa, { y }) => summa y, 0) / taulukko.length
const zKeskiarvo = taulukko.reduce((summa, { z }) => summa z, 0) / taulukko.length
console.log( { xKeskiarvo, yKeskiarvo, zKeskiarvo } )
// tulostaa: { xKeskiarvo: 4, yKeskiarvo: 5, zKeskiarvo: 6 }
Objektitaulukon keskiarvot keyn perusteella
4
163
Vastaukset
- Anonyymi
Miten koodaan saimaan peräreijän!
- Anonyymi
Sainkin sen toteutettua, mutta tuli aika karmean näköinen lauseke ja piti vielä mappiakin käyttää.
const [ xKeskiarvo, yKeskiarvo, zKeskiarvo ] =
taulukko.reduce(([ sx, sy, sz ], { x, y, z }) =>
[ sx x, sy y, sz z ], [ 0, 0, 0 ]).map((k) => k / taulukko.length) - Anonyymi
Voisi tehdä myös niin, että ensin tekee funktion, joka ottaa attribuutin nimen ja palauttaa funktion, joka laskee keskiarvon taulukon olioista sen attribuutin suhteen. Sitten mäppää halutut attribuuttien nimet tämän funktion avulla keskiarvoiksi.
const f = (attr) => (arr) => arr.reduce((acc, x)=>acc x[attr], 0)/arr.length;
['x', 'y', 'z'].map(attr=>f(attr)(taulukko));- Anonyymi
Hyvä, tämä näyttää paljon tyylikkäämmältä ratkaisulta.
Ketjusta on poistettu 1 sääntöjenvastaista viestiä.
Luetuimmat keskustelut
Minkähän takia ns. persuille ei tunnu työ maistuvan?
Vaikuttavat olevan joutoväkeä syystä tai toisesta – työttömiä tai työeläkeloisia. Muiden rahoilla pötköttelevää väkeä,672493Suomen veroaste 5 %-yks liian matala
Palauttamalla kokonaisveroaste 1990-luvun tasolle saadaan hyvinvointivaltion palvelut rahoitettua ilman velan ottoa.1052157Olit ihan
Kiihkona silloin. Sen näki ja lähes tunsi. Ei tainnut olla kaukana et olisit vetänyt lähellesi jos siihen olisi hetki tu242147Kolme neljästä suomalaisesta kannattaa miljonääriveroa
Kertoo vasemmistoliiton teettämä kysely. Veron ulkopuolelle jätettäisiin asunto. "Puolet vastaajista oli sitä mieltä, e972107Kyllä on Vasemmistoliitosta Koskelan johdolla tullut todellinen ääripuolue
se on niin tulipunainen kuin olla voi, ja selvästi haluaa jatkuvasti eripuraa, ja repiä kansaa kahtia. Siinä on jo vuod92052MTV: Harvinainen haastattelu! Vappu Pimiä kommentoi vihdoinkin uutta TTK-juontajaa
TTK-juontajaspekuloinnit käyvät edelleen kuumana. Kenet sinä haluaisit uudeksi TTK-juontajaksi? Kommentoi alle! Lue,141885Evoluutioon ja alkuräjähdykseen uskominen vaatii todella vahvaa uskoa
Että tyhjästä syntyi ja kehittyi kaikki se mitä näemme ympärillämme.5871846Trump huonommassa kunnossa kuin Usasta virallisesti sanotaan?
"Terveys on vakaa mutta ei normaali".Uskallan melkein sanoa,että Trumpin terveydentilaa kaunistellaan.Myös se että se nu1071843Yleveron tuotto siirrettävä S-ryhmälle
Yleisradio on mukana kansanmurhassa. Tuollaista ei voi tukea verovaroin. S-ryhmä on ainoa selkärankainen iso toimija S181660Kemet lomautukset
Onkohan tuo oikein lain mukaista toimintaa jatkaa jo lomautettuina olevien uudelleen lomautusta yhdenvertaisuuden ja tas411433