Tach!
Meine erste Lösung war zwar auch eienn Schritt zu umständlich (das Zwischen-Array), aber hier kann man auch noch mal den Rotstift ansetzen.
let o = Object.create(proto || new Object());
Statt let
geht auch const
. Der Variable o wird in ihrem Geltungsbereich kein weiterer Wert zugewiesen. Dass dem Objekt die Eigenschaften geändert werden, ist für const nicht von Belang.
Object.create(proto || new Object())
kann man zu proto || {}
verkürzen. Der Unterschied ist, wenn jemand kein Objekt für proto übergibt, gibts bei dir eine Exception, bei der kurzen Variante hingegen "Garbage In, Garbage Out". Zumindest das new Object()
geht als {}
zu vereinfachen.
return cols.foreach((c,i) => o[c] = values[i], o);
Das geht so nicht, man muss schon das o
zurückgeben und nicht das undefined
vom forEach()
, was man auch noch mit großem E schreiben muss.
dedlfix.