The description of jQuery.unique() states:
Sorts an array of DOM elements, in place, with the duplicates removed. Note that this only works on arrays
It might work on an array strings, etc, but it has not been designed for that use...
Notice that the code for unique()
is hiding in Sizzle as uniqueSort
: github source
While some of that extra code might seem like it would work on any array, pay close attention to sortOrder
as defined here. It does a lot of extra work to put things in "document order" - hence why the documentation states that it should only be used on arrays of DOM elements.