.map()
メソッドのインターフェイスは.map(callback(index, domElement))
ですが、$ .map()の場合は$.map(array, callback(elementOfArray, indexInArray))
です。なぜ$ .map()が返された引数をvalue-indexなどの順序で配置するのを選んだのですか?
答えて
あなたはjQueryのAPIを勉強すれば、あなたがなど.each
、.html
、.text
、として選択された要素の集合上で動作し、コールバックを受け入れるすべてのメソッドは、すべてのように要素のインデックスを渡すことがわかります最初の引数、すなわち.map
がここに並んでいます。通常、コールバック内に現在の要素this
でアクセスしていますが、これはjQueryの一般的なパターンなので、開発者はインデックスを最初の引数として持つことが重要であると判断した可能性があります。
一方、ネイティブのArray.prototype.map
メソッドは、最初の引数として要素の値をコールバックに渡すので、$.map
は同じ方法で動作すると思われます。一般的な項目のセットを処理すると考えられます。
有効な説明= – Kay
APIが不完全なためです。それは矛盾していましたが、今修正すると、$.map()
を使用する既存のコードが破られます。
- http://bugs.jquery.com/ticket/5686:"これを修正し、下位互換性を維持する方法はありません。"
- http://bugs.jquery.com/ticket/7008:"argsは逆になっていますが、それを変更するには多くのコードが壊れていました。"
何を私に興味をそそらすることは、これはいないようだということです – Kay
真実ですが、同じバージョンのjQueryにも追加されていません。 '$ .map() 'がv1.0で追加されましたが、' .map() 'はv1.2まで追加されていませんでした。物語の道徳は、良いAPI設計は非常に難しく、完璧なAPI設計はほとんど不可能であるということです。 –
はいjQuery()。map()とjQuery.map()の間に違いがあります。いくつかの相違点について概説する
:。
そのjQuery.mapを()=これはjQueryの()
ジェネリックコレクションを反復処理する傾向があるマップ()=アレイのようなオブジェクトは を配列にキャストする必要があります(.makeArray())
jQuery.map()predominantely取得又は の要素のコレクションを値を設定し、返すために使用=新しいアレイ
また、.map()はECMAScript5関数であり、jQueryの外で定義されています(実装されていますが)。 jQuery()。map()が古い実装であるかどうかが不思議です。 .map()は明らかに高速です!
John Resigは、「jQuery.mapは、主にDOM要素の配列で使用するように設計されています(ドキュメントで概説されています)。このため、null/undefinedから取り除き、ノードの配列を平らにします単一のアレイです。これはECMA(Mozilla)で定義されています。他の実装はResig自身であり、したがって違いがあります。それは貧しいデザインではない!!!!!! Read
第二の理由: は... jQuery.mapのコールバックがjQuery.fn.mapのPARAM順序が他のすべてに一致している間、Array.prototype.mapに一致するのparam順序を持っている 『それを固定「それはちょうどように単純ではありません』 jQueryオブジェクトイテレータのコールバックパラメータの順序。どちらか一方に変更すると、後方jQueryの `.map`が暗黙的にもネストされた配列を平らことは注目に値する。また、「 Read
- 1. filterable jquery-ui-map google map
- 2. 型不一致:Map <Object、Map <Object、List <ActorContents >>>からMap <Actor、Map <String、List <ActorContents >>>に変換できません。
- 3. javascript .replaceとjQuery .map
- 4. .map内のループjQuery
- 5. 例外的なデザインとアプリケーションの要件との不一致
- 6. JQuery draggable google map
- 7. mouseenterとmouseleaveのjquery mapの問題
- 8. ハスケル: `Map(a、b)c`と` Map a(Map b c) `の違いは?
- 9. jquery mapとDate()関数
- 10. MySQLとPythonの間の不一致
- 11. XmlReader.Read()とXmlReader.ReadStartElement()の間の不一致
- 12. プロセス間マップとmap/unordered_map
- 13. jQuery配列.mapの内部。
- 14. パンダ:グループ間の不一致
- 15. Jquery Draggable On Mapバウンス
- 16. 表示一度MAP
- 17. std :: mapを使用したキーの部分一致
- 18. map対unordered map
- 19. Google map simple map
- 20. find_ifとmapのファンクタ
- 21. Map in Map Map.Clear()error
- 22. Google MapコンテナのjQueryアニメーションの高さ
- 23. Mapプロパティのfind()Mapプロパティを持つfind()
- 24. odooの時間の不一致
- 25. Android TextViewの間隔の不一致
- 26. Image Map with Flash/Flex&jQuery
- 27. ポリマースターターキット、google-map、例一緒に
- 28. JQuery AJAX IE不一致
- 29. perl:grepとmapを一度に実行
- 30. iOS Google Map Viewのデザインが破損しています
を避けるために苦心を要する互換性を破る。 – Esailija