Odwrotny group by - Jak nazwać funkcję?

0

Mam sobie mapę:

return {
  a: {field: 1},
  b: {field: 2},
  c: {field: 3},
  d: {field: 4},
  e: {field: 5},
};

I chcę ją zamienić na taki array:

return [
  {key: 'a', field: 1},
  {key: 'b', field: 2},
  {key: 'c', field: 3},
  {key: 'd', field: 4},
  {key: 'e', field: 5},
];

Od razu widać że gdyby odwrócić operację to wyszedłby groupBy, ale nie mam pomysłu trochę jak nazwać odwrotną operację :/ Jedyne co mi przychodzi do głowy to mapEntries, ale coś mi nie pasuje. Ma ktoś pomysł na lepszą?

0

Może flattening?

1

Jednemu wierszowi wejściowemu przypisujesz dokładnie jeden wiersz wyjściowy - jest to zatem najzwyklejsze map IMO:

const input = {
  a: {field: 1},
  b: {field: 2},
  c: {field: 3},
  d: {field: 4},
  e: {field: 5},
};

const output = Object.entries(input).map((key, value) => {
  return { key: key[0], field: value };
});

console.log(output);
3

toArray.

0
mad_penguin napisał(a):

Może flattening?

Nie specjalnie pasuje mi flatten - to by było bardziej zmiany arraya 2d na 1d

Patryk27 napisał(a):

Jednemu wierszowi wejściowemu przypisujesz dokładnie jeden wiersz wyjściowy - jest to zatem najzwyklejsze map IMO:

Ja już implementację mam :D Szukam teraz nazwy, bo na razie moja funkcja nazywa się function asd(). Jak Ty byś nazwał swoją?

Michał Sikora napisał(a):

toArray.

Za mało mówiąca dla mnie nazwa. Ja kocham czysty kod, więc nazwa musi być samo opisowa.

0
TomRiddle napisał(a):

Za mało mówiąca dla mnie nazwa. Ja kocham czysty kod, więc nazwa musi być samo opisowa.

Nie chcę, żeby to wyglądało, że to moja propozycja i dlatego lepsze bo "mojsze", ale toArray jest mówiące wprost i opisowe. Robi dokładnie to. Zamienia mapę na tablicę. mapEntries sugerowałoby jakąś potencjalną lambdę jako argument.

0

Ja już implementację mam

Nie sugerowałem implementacji, tylko dowód na to, że jest to operacja mapowania :-)

Jak Ty byś nazwał swoją?

map(), mapToArray(), toArray() najpewniej - wszystkiego nazwą i tak nie wytłumaczysz.

0
TomRiddle napisał(a):
Michał Sikora napisał(a):

toArray.

Za mało mówiąca dla mnie nazwa. Ja kocham czysty kod, więc nazwa musi być samo opisowa.

Akurat jeśli mam mapę z Key do Value to przy konwersji na tablicę oczekuję, że elementy będą parami (krotkami) Key i Value, więc się zgadza :]

Edit:
Aczkolwiek nie do końca. Krotka powinna wyglądać tak {key: 'a', value: {field: 1}}, a nie tak {key: 'a', field: 1}.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0