Skip to main content
Go to Latest
function associateWith
import { associateWith } from "https://deno.land/std@0.167.0/collections/associate_with.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).

Examples

Example 1

import { associateWith } from "https://deno.land/std@0.167.0/collections/associate_with.ts";
import { assertEquals } from "https://deno.land/std@0.167.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>