Gunnar: Object.keys() als STRING ausgeben?

Okay, ich stehe hier offensichtlich auf der Leitung.

Ich iteriere über ein Array, welches Objekte mit jeweils einem Key-Value Pair hat.

let myArr = [{Key1: Value1}, {Key2: Value2}, ...]

myArr.forEach(el =>	console.log(Object.keys(el));)

retouniert die Keys in einem Array (da es davon ja mehrere geben könnte).

Was aber, wenn ich "Key1", "Key2", ... als Strings und nicht ["Key1"], ["Key2"], [...] als Arrays auslesen möchte? (einfach toString() and that's it, oder geht das sauberer?)

Dank euch recht, Gunnar.

  1. Tach!

    Was aber, wenn ich "Key1", "Key2", ... als Strings und nicht ["Key1"], ["Key2"], [...] als Arrays auslesen möchte?

    Du möchtest nicht ein Array als String haben, sondern in diesem Array auf ein bestimmtes Element zugreifen, konkret auf das erste.

    (einfach toString() and that's it,

    Das lässt sich ja einfach probieren, ob das zielführend ist.

    dedlfix.

  2. Hallo,

    Okay, ich stehe hier offensichtlich auf der Leitung.

    vielleicht auch auf dem Holzweg?

    Was aber, wenn ich "Key1", "Key2", ... als Strings und nicht ["Key1"], ["Key2"], [...] als Arrays auslesen möchte? (einfach toString() and that's it, oder geht das sauberer?)

    Abgesehen davon, dass man ja sehr leicht das erste Element eines Arrays adressieren kann ... immer dann, wenn jemand innerhalb eines Programms versucht, die Namen der verwendeten Variablen zu verwenden oder zu bestimmen, habe ich den Eindruck, derjenige habe sich im Dschungel der Programmier-Fallstricke verrannt.

    Live long and pros healthy,
     Martin

    --
    Home is where my beer is.
  3. Hallo Gunnar,

    Was aber, wenn ich "Key1", "Key2", ... als Strings und nicht ["Key1"], ["Key2"], [...] als Arrays auslesen möchte? (einfach toString() and that's it, oder geht das sauberer?)

    toString() funktioniert im konkreten Fall, aber ob das die Antwort ist? Wie immer: Kommt drauf an. Die von Martin erwähnten Fallstricke sind reichlich da. Ich versuche das mal auszuformulieren.

    • ist sichergestellt, dass jedes Objekt in diesem Array genau ein Property enthält? Wenn nicht: Was ist bei 0 oder 2 Properties?
    • was repräsentieren diese Objekte? Worauf ich hinauswill: ist die Darstellung als { foo: "bar" } problemangemessen, oder könnte es sinnvoller sein, die Objekte als { name: "foo", value: "bar" } zu erzeugen. Um das zu bewerten, wäre es interessant zu wissen, wo und wie Du die Objekte noch verwendest.

    Wenn sichergestellt ist, dass es immer genau ein Property gibt, kannst Du Martins Idee des Direktzugriffs auf das erste Element verwenden, also statt Object.keys(el).toString() nimmst Du Object.keys(el)[0].

    Mit den name/value Objekten, die ich als Alternative angedacht habe, könntest Du el.name verwenden.

    Rolf

    --
    sumpsi - posui - obstruxi