Rolf B: Liste von Eigenschaften zuweisen

Beitrag lesen

Hallo ursus,

ich denke auch, dass es da keinen direkteren Weg gibt. Man muss nicht alles in die Sprache einbauen, eine Funktion reicht oft auch.

Ich hätte noch eine Variante mit foreach oder reduce anzubieten:

const cols = [ 'a', 'b', 'c'];
const values = [ 1, 2, 3];

let obj = buildObject(cols, values);

console.log(obj);
// {a: 1, b: 2, c: 3}

function buildObject(cols, values, proto) {
   let o = Object.create(proto || new Object());
// so
   return cols.reduce((a,c,i) => (a[c] = values[i], a), o);
// oder so
   return cols.foreach((c,i) => o[c] = values[i], o);
}

Da kann man dann auch auf Wunsch gleich einen Prototypen angeben (ähnlich wie bless in Perl)

foreach ist besser lesbar als reduce, finde ich.

Rolf

--
sumpsi - posui - clusi