0
0

個人的「質はともかく継続する」36日目です

JavaScriptを書くとき、ループ処理を書こうとするといつも忘れてしまう、for文の代わりの方法をまとめました。正確には代わりではありませんが、用途としては代わりになるものたち、ですね。

for文

まずはfor文。言語とわず、大体同じような書き方ですよね。

for (const element of [1, 2, 3]) {
  console.log(element);
}
1
2
3

map

つづいてmapです。個人的には一番出番が多い。これは1から3までの配列をひとつづつ取り出して、2倍したものを新たな配列とする処理ですね。mapは新たな配列を生み出します。

const doubled = [1, 2, 3].map((element) => element * 2);
console.log(doubled);
[2,4,6]

filter

お次はfilterです。条件に一致するものを取り出します。この例だと、2で割り切れるものを取り出し、新たな配列を作っています。

const evens = [1, 2, 3, 4, 5].filter((element) => element % 2 === 0);
console.log(evens);
[2,4]

reduce

最後にreduceです。配列の各要素に対して関数を実行して、単一の値を返します。このメソッドは返ってくる値が配列ではないことに注意。この例だと、1から3までの配列に対して、初期値0から始まる累積値を求める式になっています。初期値0からはじまり、配列の1と0を足して1、次は1と2を足して3、最後は3と3を足して6。
いちばん忘れがちで、毎回「あぁそう言えば関数を実行するんだった」となります。出番も個人的には少ないです。

const sum = [1, 2, 3].reduce((acc, cur) => acc + cur, 0);
console.log(sum);
6
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0