diff options
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; +} |
