Skip to main content
Deno 2 is finally here 🎉️
Learn more
Go to Latest
The Standard Library has been moved to JSR. See the blog post for details.
function associateWith
import { associateWith } from "https://deno.land/std@0.208.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.208.0/collections/associate_with.ts";
import { assertEquals } from "https://deno.land/std@0.208.0/assert/assert_equals.ts";

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

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

Parameters

array: Iterable<string>
selector: (key: string) => T

Returns

Record<string, T>