Skip to main content
Go to Latest
function associateWith
import { associateWith } from "https://deno.land/std@0.145.0/collections/mod.ts";

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).

Example:

import { associateWith } from "https://deno.land/std@0.145.0/collections/associate_with.ts"
import { assertEquals } from "https://deno.land/std@0.145.0/testing/asserts.ts";

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

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

Parameters

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

Returns

Record<string, T>