std/collections/mod.ts

Deno standard library
Go to Latest
function associateWith
import { associateWith } from "https://deno.land/std@0.139.0/collections/mod.ts?s=associateWith";

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.139.0/collections/mod.ts"
import { assertEquals } from "https://deno.land/std@0.139.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[][src]
selector: (key: string) => T[src]

Returns

Record<string, T>[src]