Sometimes you need to determine the distinct objects in an array or distinct values in array. There are so many ways to do this. One way which I have used at times can be a bit slow depending on the size of your array.
From my investigation there is a lodash version that is much better. Once I do some testing I will update this but for now here is an example.
I expanded on the idea from Stack Exchange.
var distinct = function(objectArray, param){ var distinctResult = []; $.each(objectArray, function(i, currentObject){ if (param !== null) { if (distinctResult.filter(function(v) { return v[param] == currentObject[param]; }).length == 0) { distinctResult.push(currentObject); } } else { if(!exists(distinctResult, currentObject)) { distinctResult.push(currentObject); } } }); return distinctResult; }; var exists = function(arr, object){ var compareToJson = JSON.stringify(object); var result = false; $.each(arr, function(i, existingObject){ if(JSON.stringify(existingObject) === compareToJson) { result = true; return false; // break } }); return result; };