swap$ - nodef/extra-map GitHub Wiki

Exchange two values.

Alternatives: swap, swap$. Similar: get, set, swap, remove.

function swap$(x, k, l)
// x: a map (updated)
// k: a key
// l: another key
const map = require('extra-map');

var x = new Map(['a', 1], ['b', 2], ['c', 3], ['d', 4](/nodef/extra-map/wiki/'a',-1],-['b',-2],-['c',-3],-['d',-4));
map.swap$(x, 'a', 'b');
// → Map(4) { 'a' => 2, 'b' => 1, 'c' => 3, 'd' => 4 }

x;
// → Map(4) { 'a' => 2, 'b' => 1, 'c' => 3, 'd' => 4 }

var x = new Map(['a', 1], ['b', 2], ['c', 3], ['d', 4](/nodef/extra-map/wiki/'a',-1],-['b',-2],-['c',-3],-['d',-4));
map.swap$(x, 'a', 'd');
// → Map(4) { 'a' => 4, 'b' => 2, 'c' => 3, 'd' => 1 }

References