diff options
| author | Alon Levy <alon@pobox.com> | 2014-10-19 15:03:42 +0300 |
|---|---|---|
| committer | Alon Levy <alon@pobox.com> | 2014-10-19 15:03:42 +0300 |
| commit | 386ccba26490590914027f8ab3e64f2bfdd203d9 (patch) | |
| tree | e2cf18e77c890e0bf6f2e4c47495a74287f2c337 /scripts/util.js | |
| parent | b38fe801203e82da55302392be5c16ff79acae6f (diff) | |
factor out util.js
Diffstat (limited to 'scripts/util.js')
| -rw-r--r-- | scripts/util.js | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/util.js b/scripts/util.js new file mode 100644 index 00000000..4eb94266 --- /dev/null +++ b/scripts/util.js @@ -0,0 +1,35 @@ +function set_from_array(a) { + var ret = {}; + for (var k = 0 ; k < a.length ; ++k) { + ret[a[k]] = 1; + } + return ret; +} + +function set_diff(sa, sb) { + var ret = {a_b:[], b_a:[]}; + var i; + for (i in sa) { + if (!(i in sb)) { + ret.a_b.push(i); + } + } + for (i in sb) { + if (!(i in sa)) { + ret.b_a.push(i); + } + } + return ret; +} + +function array_diff(aa, ab) { + var sa = set_from_array(aa); + var sb = set_from_array(ab); + return set_diff(sa, sb); +} + +if (typeof(exports) != 'undefined') { + exports.set_diff = set_diff; + exports.array_diff = array_diff; + exports.set_from_array = set_from_array; +} |
