get words from str1 that not present in str2 and opposite /

by asdf

JavaScript

function getDiff (str1, str2) {
    
    function removeSeparators (str) {
        return str.replace(/[^\w\s]|_/g, " ").replace(/\s+/g, " ").replace(/^ +/gm, '').replace(/\s+$/, '').split(" ");
    } // end of removeSeparators
    
    function arrToObj (arr) {
        var newObj = {};
        for (var i = 0; i < arr.length; i++) {
            newObj[arr[i]] += 1;
        } // end of for i
        return newObj;
    } // end of arrToObj
    
    function objToArr (obj) {
        var newArr = [];
        for (var p in obj) {
            for (var y = 1; y<=obj[p]; y++){
                newArr.push(p);
            } //end of for y
        } //end of for p
        return newArr;
    } // end of objToArr
    
    function findUnique (arrDiff, arr, obj) {
        for (var j = 0; j < arr.length; j++) {
            if (!obj.hasOwnProperty(arr[j])) {
                arrDiff.push(arr[j]);
            }
        } // end of for j
    } // end of findUnique
    
    var arr1 = removeSeparators(str1);
    var arr2 = removeSeparators(str2);
    if (arr1.join("") == "" && arr2.join("") == "") {
        return "";
    } else if (arr1.join("") == "") {
        return arr2.join(", ");
    } else if (arr2.join("") == "") {
        return arr1.join(", ");
    }
    var uniqueArr = [];
    var obj1 = arrToObj (arr1), 
        obj2 = arrToObj (arr2);
    findUnique(uniqueArr, arr1, obj2);
    findUnique(uniqueArr, arr2, obj1);
    var uniqueStr = uniqueArr.join(", ");
    return uniqueStr;
    // myArray.concat(findUnique(arr1, obj2)); // if findUnique returns array use concat to merge arrays; concat() method is used to join two or more arrays: array1.concat(array2,array3,...,arrayX);
}; // end of getDiff

console.log(getDiff("a.b.c.d", "abcd"));
console.log(getDiff( "",  "a b c d"));
console.log(getDiff( "",  ", "));
console.log(getDiff( "e f g,a", ""));
console.log(
    getDiff( " The red brown fox, jumped over the rolling   log.     ",  
        "The brown spotted fox leaped over...