私は.sort()
、jQuery で関数を使用する多くの例を見てきました。
たとえば、次のようになります。
$('#myId').sort(..);
jQuery API のドキュメントが見つからないので、sort()
その使用法を教えてもらえますか?
私は.sort()
、jQuery で関数を使用する多くの例を見てきました。
たとえば、次のようになります。
$('#myId').sort(..);
jQuery API のドキュメントが見つからないので、sort()
その使用法を教えてもらえますか?
これは (公式には) jQuery の一部ではありませんが、プロキシされたArray.sortであるためです。
Derek が指摘するようにjQuery(...)
、配列は返されません。むしろ、jQueryはプロキシを追加して、jQuery オブジェクトを「配列のように振る舞う」ようにします。
// For internal use only.
// Behaves like an Array's method, not like a jQuery method.
push: push,
sort: [].sort, // <-- here
splice: [].splice
このプロキシthis
が機能するのは、関数内の が関数が呼び出されたオブジェクトによって決定されるためです。さらに、Array.sort
(およびArray.splice
)this
「配列のような」もの(length
およびおそらくプロパティを持っている0..length-1
)で動作します。カスタム オブジェクト [ab]using の例を次に示しますArray.sort
。
var a = {0: "z", 1: "a", length: 2, sort: [].sort}
a[0] // -> "z"
a.sort() // in-place modification, this === a
a[0] // -> "a"
a instanceof Array // -> false (never was, never will be Array)
「内部使用のみ」の注記に従う YMMV。