1
0
mirror of synced 2024-11-16 03:03:22 +01:00

reuse difference function for symmetric difference

This commit is contained in:
d98762625 2018-03-25 17:03:05 +01:00
parent 2c68be3193
commit 208cb05c74

View File

@ -72,7 +72,7 @@ class SetOps {
"Cartesian Product": this.runCartesianProduct,
"Power Set": this.runPowerSet(itemDelimiter),
}[operation]
.apply(null, sets.map(s => s.split(itemDelimiter)));
.apply(this, sets.map(s => s.split(itemDelimiter)));
// Formatting issues due to the nested characteristics of power set.
if (operation === "Power Set") {
@ -142,18 +142,8 @@ class SetOps {
* @return {Object}
*/
runSymmetricDifference(a, b) {
/**
* One-way difference function, formatted for mapping.
* @param {Object[]} refArray
*/
const getDifference = (refArray) => (item) => {
return refArray.indexOf(item) === -1;
};
return a
.filter(getDifference(b))
.concat(b.filter(getDifference(a)));
return this.runSetDifference(a,b)
.concat(this.runSetDifference(b, a));
}
/**