在官方文档中对jQuery.unique()
方法的描述中,我发现:
...这只适用于DOM元素的数组,而不是字符串或数字。
但是,如果我们尝试使用字符串或数字的某些测试数组的方法,它似乎工作正常:
$.unique(["Alex", "Andrew", "Maria", "Alex", "Nick", "Andrew", "Eugene"]);
// ["Eugene", "Nick", "Maria", "Andrew", "Alex"]
$.unique([1, 3.5, -1e5, 2, 3.5, 1, 1000, -1e5]);
// [1000, 2, -100000, 3.5, 1]
有什么意义?
答案 0 :(得分:6)
通过限制文档说它可以做的范围,他们可以灵活地在以后必要时更改它,而不必担心支持超过记录的功能。
当前的实现(实际上只是对来自jQuery内置的Sizzle选择器引擎的Sizzle.uniqueSort
的引用)大多只是将事物与===
进行比较,这解释了为什么它对字符串和数字的工作正常好。但是通过限制范围,如果有更有效的方法可以在以后找到它们,它们可以在将来改变它(但是它只适用于DOM元素)。
请注意,它主要是一种内部方法,因为文档也说:
此函数...主要由jQuery在内部使用。