Sä yrität indeksoida objektia string[]-tyypillä, eli taulukolla. Ei onnistu. Objektia indeksoidaan pelkällä stringillä, esim. obj['foo'], Eli kuten sanoin, Objekt.keys() palauttaa taulukon ja et sä sillä voi pointata yhteen objektin propertyyn.
Toiseksi, älä käytä map-funktiota jos sulle ei ole aikomus luoda uutta arrayta jota sitten käytät. Tässä tapauksessa oikea funktio, kuten sanottiin, on reduce(). Eli redusoidaan array yksittäiseksi objektiksi. Sivuvaikutuksille forEach() on myös parempi.
Kolmanneksi: mitä sä yrität tehdä?
Eli voitko antaa yksinkertaisen esimerkin syöötteestä (se taulukko) ja mitä tuon funktion pitäisi pullauttaa ulos, eli millainen objekti pitäisi tulla? Sun siis pitää päättää, että kun sä käyt läpi sen arr:n arvoja ja laitat niitä emptyObj:iin, niin miten ne avaimet muodostetaan sille uudelle objektille? Onko ne taulukossa mukana? Eli mitä sen lopputuloksen pitäisi sun mielestäsi näyttää?
Jos se array on siis ['omena', 'appelsiini', 'banaani'], niin millainen on se objekti joka tuosta on muodostettu?