昨日のinArrayメソッドに引き続き今日は、jQuery.ScrollToのソースコードを読んでいるのですが、その中にmapメソッドというものがありました。
jQuery日本語リファレンスのmapメソッドを読んでもいまいち納得がいかない。eachメソッドとどう違うの?
というわけで、今回は、少しソースコードを書くことに。
| <form> <input type="text" name="name" value="John"/> <input type="text" name="password" value="password"/> <input type="text" name="url" value="http://ejohn.org/"/> </form> <script type="text/javascript"> console.log($("input").map(function(){return;})) </script>  | 
正解は、こちら
| [] | 
| <form> <input type="text" name="name" value="John"/> <input type="text" name="password" value="password"/> <input type="text" name="url" value="http://ejohn.org/"/> </form> <script type="text/javascript"> console.log($("input").map(function(){return $(this).val();})) </script>  | 
| ["John", "password", "http://ejohn.org/"] | 
| <form> <input type="text" name="name" value="John"/> <input type="text" name="password" value="password"/> <input type="text" name="url" value="http://ejohn.org/"/> </form> <script type="text/javascript"> console.log($("input").map(function(){return this;})) </script>  | 
| [ <input type="text" name="name" value="John"> , <input type="text" name="password" value="password"> , <input type="text" name="url" value="http://ejohn.org/"> ]  | 
つまり、mapメソッドは、各要素ごとに処理を行いその結果を配列で返してくれるありがたいメソッドなんですね。
使い方によっては、超強力なメソッドかなと思いました。
0 コメント:
コメントを投稿