前回に引き続き、第4回。Collection編です。
invoke
_.invoke(list, methodName, [*arguments])
invokeは、リストの各要素に対して指定したメソッドを実行します。メソッドは文字列で指定できます。
_ = require 'underscore' list = [[3,4,2],[6,5,8]] result = _.invoke list, 'sort' console.log result実行結果
$ coffee invoke.coffee [ [ 2, 3, 4 ], [ 5, 6, 8 ] ]
指定した名前のメソッドが存在しない場合、例外が投げられます。
pluck
_.pluck(list, propertyName)
pluckは、リストの各要素のプロパティの値を配列で返します。
_ = require 'underscore' users = [ {name:'Hoge', email:'hoge@example.com'} {name:'Foo', email:'foo@example.com'} {name:'Bar', email:'bar@example.com'} ] console.log _.pluck users, 'name'実行結果
$ coffee pluck.coffee [ 'Hoge', 'Foo', 'Bar' ]
max
_.max(list, [iterator], [context])
maxは、リストの各要素のうち最大の「モノ」を返します。どのプロパティを最大値と比較するかを、イテレータで返します。
_ = require 'underscore' users = [ {name:'アーキテクチャ', salary:10000000} {name:'プログラマ', salary:800000} {name:'社長', salary:25000000} ] console.log _.max users, (user)-> user.salary実行結果
$ coffee max.coffee { name: '社長', salary: 25000000 }
min
_.min(list, [iterator], [context])
minは、maxの逆の機能です。リストの各要素のうち最小の「モノ」を返します。どのプロパティを最小と比較するかを、イテレータで返します。
_ = require 'underscore' users = [ {name:'アーキテクチャ', salary:10000000} {name:'プログラマ', salary:800000} {name:'社長', salary:25000000} ] console.log _.min users, (user)-> user.salary実行結果
$ coffee min.coffee { name: 'プログラマ', salary: 800000 }
sortBy
_.sortBy(list, iterator, [context])
sortByは、リストを条件に従ってソートし、配列を返します。
_ = require 'underscore' list = [45, 30, 90, 60, 15, 75] result = _.sortBy list, (item)-> Math.cos(item/180 * Math.PI) console.log result実行結果
$ coffee sortBy.coffee [ 90, 75, 60, 45, 30, 15 ]
関連ページ
0 件のコメント:
コメントを投稿