diffを見てて、やっと使い方がわかった。 mergeは単にappendするだけで、重複を省かなくなった。 代わりにuniqueを使うみたい。 uniqueはjQueryオブジェクトじゃないと動かない。
>>> $.merge( [0,1,2], [2,3,4] )
[0, 1, 2, 2, 3, 4]
>>> $.unique( [0,1,2], [2,3,4] )
[0, 1, 2]
>>> $.unique( [0,1,2,2,3,4] )
[0, 1, 2, 2, 3, 4]
>>> div = '<div><span id="1"/><span id="2"/><span id="3"/></div>'
"<div><span id="1"/><span id="2"/><span id="3"/></div>"
>>> $("[@id]", $(div))
[span#1, span#2, span#3]
>>> s1 = $("#1", $(div))
[span#1]
>>> s2 = $("#2", $(div))
[span#2]
>>> s3 = $("#3", $(div))
[span#3]
>>> [s1, s2, s3, s2, s3]
[[span#1], [span#2], [span#3], [span#2], [span#3]]
>>> $.unique( [s1, s2, s3, s2, s3] )
[[span#1], [span#2], [span#3]]
>>> s4 = $("#2", $(div))
[span#2]
>>> s5 = s3
[span#3]
>>> [s1, s2, s3, s4, s5]
[[span#1], [span#2], [span#3], [span#2], [span#3]]
>>> $.unique( [s1, s2, s3, s4, s5] )
[[span#1], [span#2], [span#3], [span#2]]
>>> s2 == s4
false
>>> s3 == s5
true
>>> $.unique( [s1, s2], [s2, s3] )
[[span#1], [span#2]]
>>> $.merge([s1, s2], [s2, s3])
[[span#1], [span#2], [span#2], [span#3]]
>>> $.unique( $.merge([s1, s2], [s2, s3]) )
[[span#1], [span#2], [span#3]]
