1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Ramdaを使ってjavascriptで1〜100までの配列を作る

Last updated at Posted at 2016-03-24

はじめに

javascriptで関数型ちっくにFizzBuzzをやりたいなあと思い、まずは1〜Nまでの配列を作ってみるかと思いました。こう言う場合haskellなら

[1...100]

みたいにスマートに書けるのですが、javascriptでも似たようなことができないのか?と思います。少し考えてみて、Ramda.timesを使えば上手くいきそうだなと思いました。

コード

R.times((i)=>i+1, 100);

例のごとくRamdaを使っています。これで1〜100までの配列が作れます。もう少し抽象的に書くと、

R.times((i)=>1+初期値, 最大値)

となります。

解説

R.timesはある関数をn回呼び出して、その結果群を配列として返すというものです。

R.times(
  (i)=>{}  /* 呼び出される関数、iには0から始まる呼び出し回数が入る */, 
  n/* 繰り返しの回数*/)

上で書いた式は(i)=>i+1となっていましたが、これはループ回数に+1を足したものを返すという意味になります。ループは0からはじまるので、+1をしている訳です。

最後に

調べたらもっとスマートに書けそうな方法はありそうです。見つけ次第、追記していこうと思います。

1
1
2

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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?