From 2455b836fc97492b58bcda34fa689d5f570a4a21 Mon Sep 17 00:00:00 2001 From: Louis Pilfold Date: Wed, 1 Sep 2021 20:38:35 +0100 Subject: Avoid building array --- src/gleam_stdlib.js | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/src/gleam_stdlib.js b/src/gleam_stdlib.js index bc79844..64b1aeb 100644 --- a/src/gleam_stdlib.js +++ b/src/gleam_stdlib.js @@ -288,9 +288,7 @@ export function map_to_list(map) { export function map_from_list(list) { let map = new Map(); - for (let pair of list) { - map.set(hashcode(pair[0]), pair); - } + for (let pair of list) map.set(hashcode(pair[0]), pair); return map; } @@ -345,12 +343,9 @@ export function map_merge(into, merge) { export function map_take(keys, map) { const result = new Map(); - keys.toArray().forEach((key) => { - const hash = hashcode(key); - const keyValue = map.get(hash); - if (keyValue !== undefined) { - result.set(hash, keyValue); - } - }); + for (let key of keys) { + const code = hashcode(key); + if (map.has(code)) result.set(code, map.get(code)); + } return result; } -- cgit v1.2.3