Objektitaulukon keskiarvot keyn perusteella

Anonyymi

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 }

4

<50

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • 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

    1. Naiset miltä kiihottuminen teissä tuntuu

      Kun miehellä tulee seisokki ja ja sellainen kihmelöinti sinne niin mitä naisessa köy? :)
      Sinkut
      71
      5022
    2. Haistoin ensin tuoksusi

      Käännyin katsomaan oletko se todellakin sinä , otin askeleen taakse ja jähmetyin. Moikattiin naamat peruslukemilla. Tu
      Ikävä
      16
      2332
    3. Olet sä kyllä

      ihme nainen. Mikä on tuo sun viehätysvoiman salaisuus?
      Ikävä
      25
      1857
    4. Hiljaiset hyvästit?

      Vai mikä on :( oonko sanonut jotain vai mitä?
      Ikävä
      12
      1561
    5. Teuvo Hakkaraisesta tulee eurovaalien ääniharava

      Persuissa harmitellaan omaa tyhmyyttä
      Maailman menoa
      42
      1553
    6. Miksi kohtelit minua kuin tyhmää koiraa?

      Rakastin sinua mutta kohtelit huonosti. Tuntuu ala-arvoiselta. Miksi kuvittelin että joku kohtelisi minua reilusti. Hais
      Särkynyt sydän
      5
      1348
    7. Turha mun on yrittää saada yhteyttä

      Oot mikä oot ja se siitä
      Suhteet
      9
      1267
    8. Kyllä poisto toimii

      Esitin illan suussa kysymyksen, joka koska palstalla riehuvaa häirikköä ja tiedustelin, eikö sitä saa julistettua pannaa
      80 plus
      3
      1185
    9. "Joka miekkaan tarttuu, se siihen hukkuu"..

      "Joka miekkaan tarttuu, se siihen hukkuu".. Näin puhui jo aikoinaan Jeesus, kun yksi hänen opetuslapsistaan löi miekalla
      Yhteiskunta
      13
      1176
    10. Näkymätöntä porukkaa vai ei

      Mon asuu yksin. Mitas mieltä ootte ?
      Ikävä
      14
      1173
    Aihe