basyura's blog

あしたになったらほんきだす。

Array のメソッド

filter
ある配列の要素で、与えられたフィルタリング関数が true を返したものすべてからなる新しい配列を生成します。
forEach
配列中のそれぞれの要素について関数を呼び出します。
every
ある配列の全ての要素が与えられたテスト関数を満たした場合に true を返します。
map
ある配列の全ての要素について与えられた関数を呼び出した結果からなる新しい配列を生成します。
some
ある配列の少なくとも 1 つの要素が与えられたテスト関数を満たした場合に true を返します。
reduce
1 つの値に還元されるように、配列の 2 つの値に対し(左から右へ)同時に関数を適用していきます
reduceRight
1 つの値に還元されるように、配列の 2 つの値に対し(右から左へ)同時に関数を適用していきます。
Array

filter

[0,1,2,3,4,5,6,7,8,9,10].filter(function(v) {
      return v % 2 == 0;
    });
//=> 0,2,4,6,8,10

forEach

[0,1,2,3,4,5,6,7,8,9,10].forEach(function(v) {
    print(v);
    });
//=> 0
//=> 1
//=> 2
//=> 3
//=> 4
//=> 5
//=> 6
//=> 7
//=> 8
//=> 9
//=> 10

every

[0,1,2,3,4,5,6,7,8,9,10].every(function(v) {
      return v >= 0;
    });
//=> true

map

[1,2,3,4,5].map(function(v){return v * 2});
//=> 2,4,6,8,10

some

[0,1,2,3,4,5,6,7,8,9,10].some(function(v) {
      return v > 5;
    });
//=> true

reduce

[1,2,3,4,5].reduce(function(previous , current , index , array) {
      return previous  + current;
    });
//=> 15
// previous current
// 1        2
// 3        3
// 6        4
// 10       5

reduceRight

[1,2,3,4,5].reduce(function(previous , current , index , array) {
      return previous  + current;
    });
//=> 15
// previous  current
// 5         4
// 9         3
// 12        2
// 14        1

javascript は function の記述が綺麗に見える不思議