var testArr = ['a','a','b','c','d']; var numArr = [1,1,2,3,4,4]; var objArr = [{},{},{test:0},{test:5},{test:0}]; function unique( arr ){ var tmp = {}; var key; for(var i=0; i < arr.length; i++){ if (typeof arr[i] === 'object'){ key = JSON.stringify(arr[i]); } else{ key = arr[i]; } tmp[key] = arr[i]; } return Object.keys(tmp).map(function(elem,idx,arr){ return tmp[elem]; }); } console.log(unique(testArr)); console.log(unique(numArr)); console.log(unique(objArr));