質問でも何でもないんだけどES6の分割代入ってのを勉強不足で知らなくて面白そうだったので遊んでみた
const sum = ([x,...xs]) => !x ? 0 : x + sum(xs);
const a = [1,2,3,4,5,6,7,8,9,10];
console.log(sum(a)); // 55
const maximum = ([x,y,...ys]) => !y ? x : x<y ? maximum([y].concat(ys)) : maximum([x].concat(ys)) ;
const b = [22,56,13,53,89,72,64];
console.log(maximum(b)); // 89
const zipWith = (f,[x,...xs],[y,...ys]) => !x||!y ? [] : [f(x,y)].concat(zipWith(f,xs,ys));
const c = [3,5,8,100];
console.log(zipWith((m,n)=>m*n, a, c)); // [3,10,24,400]
const takeWhile = (f,[x,...xs]) => !x||!f(x) ? [] : [x].concat(takeWhile(f,xs));
const langs = ['C','Java','Python','JavaScript','Perl','C++'];
console.log(takeWhile(x=>x!=='JavaScript', langs)); // ['C','Java','Python']
うーん、先頭に追加したいだけなのにconcat使ってるあたりがダサいな・・・効率悪そう
でもパターンマッチの幅がぐっと広がるし再帰はともかく日常的に重宝しそうだ
探検
JavaScript の質問用スレッド vol.123 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
681デフォルトの名無しさん (ワッチョイ 2d2d-Vkm7)
2017/06/30(金) 21:36:48.80ID:jM2/iqY60■ このスレッドは過去ログ倉庫に格納されています
ニュース
- 中国国営メディア「沖縄は日本ではない」… ★5 [BFU★]
- 高市政権にパイプ役不在…日中高まる緊張 公明党の連立離脱影響、自民内にも懸念「自分でまいた種は自分で刈り取ってもらわないと」★2 [ぐれ★]
- 【速報】 高市政権、「日本版DOGE」を立ち上げ 米国で歳出削減をした「政府効率化省(DOGE)」になぞらえたもの [お断り★]
- 【速報】 日経平均の下落率3%超す、財政懸念で長期金利上昇 [お断り★]
- 台湾声明 「台湾は独立した主権国家、中国は台湾を統治したことがなく、中国は口出しする権利ない」 中国が高市首相に抗議で ★7 [お断り★]
- 日本が「世界で最も魅力的な国」1位に!✨「魅力的な都市」では東京が2位 「魅力的な地域」は北海道が7位に [煮卵★]
- 高市政権「中国さん、日本はいつでも対話に応じるで」 [834922174]
- 吉村はん「高市さんは発言を撤回する必要ないですよ。中国の大阪総領事が謝罪すべき」 [256556981]
- 中国「高市が謝罪撤回しないとこれ全部なくなるけどどうする?」 [931948549]
- 日経平均、49000円割れ 国賊高市を許すな [402859164]
- 東浩紀「日本はいままさに駆け引きをしている。」高市有事にピシャリ [834922174]
- 【高市経済】日経平均マイナス1600円!、金利1.76%!ドル円155円!世界恐慌へ [219241683]
