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
167
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
20v on otettu kiinni
Tulipalo oli sytytetty joten murhasiko ex omat lapsensa ja heidän Äidin. Tuskin sitä kukaan ohikulkijakaan sytytti.1409351Somali ei kätellyt Stubbia Linnan juhlissa
Miksei somali osaa noudattaa hyviä käytöstapoja. https://www.iltalehti.fi/viihdeuutiset/a/563a3dea-fa3f-41f3-b64f-406d26735354Kuka on menehtynyt?
https://yle.fi/a/74-20198293 Kuulemani mukaan ryyppyporukka ollut hapualla ja kuolemanenkeli (F.G) eli mies jonka seuras273709- 472553
IL - Auerin lapsia oli houkuteltu rahalla Annelin puolelle?
16:12 Outoja väitteitä Sijaisäidin mukaan Auerin lapsia koetettiin houkutella nettipalstoilla muuttamaan kertomuksiaan192150- 701914
Savonlinan perhesurma, epäilty mies romani, äiti kantaväestöä
https://www.is.fi/kotimaa/art-2000011676508.html Savonlinnan seudun romaniyhdistyksestä kerrottiin lauantaina IS:lle, e1351887Savonlinnan murhapolttaja romani
Ainakin IS kertoo. Arvasin heti ettei ole normi valkolainen suomalainen.2311690Nainen, ota nyt rauhallisesti
Älä ota kaiken maailman murheita päällesi. Sulla on tapana ottaa elämä liian vakavasti. Ei aina, mutta joskus menee vähä1391444- 391250