Skip to content

indexBy() function

キーを生成する f が与えられると、オブジェクトのリストを、与えられたキーによってオブジェクトをインデックス化したオブジェクトに変換します。複数のオブジェクトがインデックスキーに対して同じ値を生成する場合、生成されたオブジェクトには最後の値のみが含まれることに注意してください。

Signature:

typescript
declare function indexBy<A extends Key>(
  f: (a: A) => A,
  iterable: Iterable<A>,
): {
  [K in A]: K;
};

Example

ts
const given = [
  { category: "clothes", desc: "good" },
  { category: "pants", desc: "bad" },
  { category: "shoes", desc: "not bad" },
];

indexBy((a) => a.category, given);
// {
//   clothes: { category: "clothes", desc: "good" },
//   pants: { category: "pants", desc: "bad" },
//   shoes: { category: "shoes", desc: "not bad" },
// };

Try It

Open Source Code

Released under the Apache-2.0 License.