前回のエントリーでUserscore.jsをインストールし、いくつかのメソッドを紹介しました。今回は第2回。Collection編です。
find
findは、リストの中から条件に最初にマッチした値を1つだけ取得するメソッドです。条件にマッチしない場合、undefinedを返します。
_ = require 'underscore' even = _.find [1,2,3,4,5,6], (n)-> n % 2 == 0 console.log 'even is ' + even empty = _.find [1,2,3,4,5,6], (n)-> n % 10 == 0 console.log 'empty is ' + empty実行結果
$ coffee find.coffee even is 2 empty is undefined
filter
filterは、リストの中から条件にマッチした値を配列で返します。条件にマッチしない場合、空の配列を返します。
_ = require 'underscore' evens = _.filter [1,2,3,4,5,6], (num)-> num % 2 == 0 console.log 'evens is ' + evens empty = _.filter [1,2,3,4,5,6], (num)-> num % 10 == 0 console.log 'length of array is ' + empty.length実行結果
$ coffee filter.coffee evens is 2,4,6 length of array is 0
reject
rejectは、条件にマッチしなかった値を配列で返します。filterの逆の条件で作用します。
_ = require 'underscore' odds = _.reject [1,2,3,4,5,6], (num)-> num % 2 == 0 console.log 'odds is ' + odds実行結果
$ coffee reject.coffee odds is 1,3,5
all
allは、リストの各要素が条件にすべてマッチした場合にtrueを返します。
_ = require 'underscore' console.log _.all [2,4,6,8,10], (num)-> num % 2 == 0 console.log _.all ["あ", "い", "う"], (char)-> char == "い"実行結果
$ coffee all.coffee true false
any
anyは、リストの要素の中、ひとつでも条件にマッチした場合にtrueを返します。条件(イテレータ)がない場合、ひとつでもtrueと成り得る要素があった場合、trueを返します。
_ = require 'underscore' console.log _.any [0, null, 'true', false] console.log _.any [1, 3, 5, 7], (num)-> num % 2 == 0 console.log _.any [1, 3, 5, 8], (num)-> num % 2 == 0実行結果
$ coffee any.coffee true false true
関連ページ
関連ページ
0 件のコメント:
コメントを投稿