2013-01-17 86 views
4

jQuery.unique()方法的官方文檔的描述,我發現:爲什麼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] 

要點是什麼?

+2

很有可能它是在源代碼中更新的,但不是在API文檔中更新的。 –

+5

我認爲問題在於jQuery人員不希望支持您的方法的「標籤外」用法。它在文檔中聲明該方法僅用於jQuery的內部使用。哦,羅裏說。 –

+0

@RoryMcCrossan看起來像SO使用jQuery 1.7.1,我的Chrome控制檯提供了相同的結果。所以對於1.7.1它具有相同的功能。否則,很長一段時間文檔不會更新。 – VisioN

回答

6

通過限制文檔所能做的事情的範圍,他們可以根據需要靈活地更改它,而不用擔心支持超過文檔化功能。

當前的實現(這實際上只是一個從內置到jQuery的滋滋聲選擇引擎Sizzle.uniqueSort引用)大多隻是用===比較的東西,這也是爲什麼它工作正常的字符串和號碼以及。但是通過限制範圍,他們可以在將來改變這種情況,如果有一些更有效的方式來做到這一點,他們以後會發現(但只適用於DOM元素)。

請注意,這是主要的內部方法,如文檔也說:

此功能...主要是由jQuery的內部使用。

相關問題