Skip to main content
Go to Latest
function associateWith
import { associateWith } from "";

Builds a new Record using the given array as keys and choosing a value for each key using the given selector. If any of two pairs would have the same value the latest on will be used (overriding the ones before it).


import { associateWith } from ""
import { assertEquals } from "";

const names = [ 'Kim', 'Lara', 'Jonathan' ]
const namesToLength = associateWith(names, it => it.length)

assertEquals(namesToLength, {
  'Kim': 3,
  'Lara': 4,
  'Jonathan': 8,


array: readonly string[]
selector: (key: string) => T


Record<string, T>