function unite(arr1, arr2, arr3,arr4) { // reduces & combines all arrays var uniteall = arr1.concat(arr2).concat(arr3).concat(arr4); // snippet to remove duplicated values function uniq_fast(a) { var seen = {}; var out = []; var len = a.length; var j = 0; for(var i = 0; i < len; i++) { var item = a[i]; if(seen[item] !== 1) { seen[item] = 1; out[j++] = item; } } return out; } // running values into the function var uniteall2 = uniq_fast(uniteall); // clearing undefined values var cleararr = uniteall2.filter(function(n){ return n !== undefined; }); // output return cleararr; } // test unite([1, 2, 3], [5, 2, 1]) ;