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
171
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
S-kaupoissa on nykyään ihanaa käydä
Kun niissä ei enää käy satuolentoihin uskovat hihhuIit eivätkä persut. Asiakaskunta on huomattavasti siistiytynyt muutam28214567Riikka runnoo! Uutta velkaa tänä vuonna 17 mrd. euroa
Tirsk. Nyt kyllä hihityttää kuin pientä eläintä. Riikka takoo maailmanennätyksiä tasaiseen tahtiin. " [Riikka] joutuu737363Jens Ihlen (ex Kukka) poika todistaa oikeudessa
10:49 "Välit ovat olemattomat" Minkälainen isäsi ja sinun välinen suhde on tällä hetkellä? "Minulla ei ole minkäännäkö2127194Kela maksoi etuuksia 17,3 mrd. eur, yritykset sai 10,6 mrd.
Tuohon päälle vietiin vielä palkansaajilta työeläkeloisille 27,5 miljardia euroa. Etenkin Suomen Sosialistiset Yrittäjä675206K-kaupassa on mukava käydä, kun ei tarvitse katsella köyhiä
vasemmistolaisia, joista monet myös varastavat. Mielellään maksaa vähän enemmän tuotteista K-kaupassa, jotka ovat paljon1224951Näin tyhmä vasemmistolainen on: "S-kaupoissa on nykyään ihanaa käydä
kun siellä ei ole hihhuleita eikä persuja." Vain tyhmä eli heikkoälyinen vasemmistolainen voi tehdä noin lapsellisia ju754756Suomeen ei kuulu ihmiset jotka ei halua kätellä toisia ihmisiä, koska tämä on vääräuskoinen
Nainen joka ei halunnut kätellä Stubbia on selvästi ääripään muslimi, eli sitä sakkia josta niitä ongelmia koituu. Ulos1044576PS:n Purra teki -JÄTTI-VELAT
* * PS:n Purra teki -JÄTTI-VELAT - ! ja jätti MaksuHuolet -Kansan Maksettavaksi -! *364506Suomessa on ollut suurtyöttömyyttä ennenkin, ja lääkäriin pääsee nykyäänkin
Täällähän oli jonkun sekopään(vas.) juttu, että ennen ei ollut työttömyyttä ja lääkäriin pääsi. Siihen alkoi tietysti ko824216Kysymys: Kuinka moneen maahan neuvosto-venäjä on hyökännyt
viimeisten 90-vuoden aikana? Ja lähinnä on siis kyse neuvosto-venäjän naapurimaista - kuten Suomesta. Lista on huomatta1023988