Wie kann ich am besten konvertieren?
['a','b','c']
zu:
{
0: 'a',
1: 'b',
2: 'c'
}
Wie kann ich am besten konvertieren?
['a','b','c']
zu:
{
0: 'a',
1: 'b',
2: 'c'
}
Falls Sie eine der Eigenschaften der iterierten Objekte als Schlüssel verwenden wollen, zum Beispiel:
// from:
const arr = [
{
sid: 123,
name: 'aaa'
},
{
sid: 456,
name: 'bbb'
},
{
sid: 789,
name: 'ccc'
}
];
// to:
{
'123': { sid: 123, name: 'aaa' },
'456': { sid: 456, name: 'bbb' },
'789': { sid: 789, name: 'ccc' }
}
Verwendung:
const result = arr.reduce((obj, cur) => ({...obj, [cur.sid]: cur}), {})
Nicht viele Menschen hier haben sich zu den Object.fromEntries
Ich mag es wirklich, denn es ist sauberer und funktioniert leicht mit TypScript , ohne sich zu sehr um generische Typen und so weiter zu kümmern. Es erlaubt auch benutzerdefinierte Schlüssel mit Karte falls erforderlich. Nachteile: Sie benötigen eine zusätzliche map
, wenn Sie einen benutzerdefinierten Schlüssel wünschen. z.B.:
const tags = [
{ name: 'AgeGroup', value: ageGroup },
{ name: 'ApparelTypes', value: apparelTypes },
{ name: 'Brand', value: brand },
// ...
]
const objectTags = Object.fromEntries(tags.map((t) => [t.name, t.value]))
/*
{
AgeGroup: 'Adult',
Apparel: 'Creeper, Jacket'
Brand: '',
// ...
}
*/
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.
17 Stimmen
Es ist erwähnenswert, dass Javascript-Arrays sind Objekte.
2 Stimmen
Falls noch jemand nach einer Lodash-Lösung sucht, sollten Sie Folgendes in Betracht ziehen
_.keyBy
(ehemals_.indexBy
): lodash.com/docs#keyBy1 Stimmen
Dies ist ein bisschen verwirrend, weil Arrays bereits Objekte sind, aber ich denke, der Punkt der Frage ist die Umwandlung der Array exotisches Objekt zu einer gewöhnliches Objekt .
3 Stimmen
Eine einfache Möglichkeit, dies mit Lodash zu tun, ist
_.toPlainObject
. Ex:var myObj = _.toPlainObject(myArr)