4

在官方文档中的方法描述中,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]

重点是什么?

4

1 回答 1

6

通过限制文档说明它可以做什么的范围,他们可以在必要时灵活地在以后更改它,而不必担心支持超出文档功能的范围。

当前的实现(实际上只是对Sizzle.uniqueSortjQuery 内置的 Sizzle 选择器引擎的引用)大多只是将事物与 进行比较===,这解释了为什么它也适用于字符串和数字。但是通过限制范围,如果他们以后发现有一些更有效的方法(但仅适用于 DOM 元素),他们可以在未来改变它。

请注意,它主要是一种内部方法,正如文档中所说:

这个函数……主要是jQuery内部使用的。

于 2013-01-17T15:39:58.670 回答