概要
- 高階関数についての記事タイトルが引用を繰り返してたので、高階関数的に処理してみました。
コード
[
'高階関数を書いたら、中級者になれた気がした。',
'批判したら上級者になれた気がした。',
'格下目線から批判してみた。',
'高階関数でタイトル生成してみた。',
].reduce((accumulator, title) => accumulator + 'を' + title)
// "高階関数を書いたら、中級者になれた気がした。を批判したら上級者になれた気がした。を格下目線から批判してみた。を高階関数でタイトルを作ってみた。"
高階関数 reduce
高階関数 reduce は、第二引数を指定すると、最初の処理時に accumulator に指定されます。第二引数を省略すると、最初の要素が accumulator に指定されて、第二要素から処理がスタートします。
第二引数込みで書き換えると次のようになります。配列の要素が分散されるので、あまりよいコードではなくなると思います。
第二要素込み。
[
'批判したら上級者になれた気がした。',
'格下目線から批判してみた。',
'高階関数でタイトル生成してみた。',
].reduce(
(accumulator, title) => accumulator + 'を' + title,
'高階関数を書いたら、中級者になれた気がした。'
)
// "高階関数を書いたら、中級者になれた気がした。を批判したら上級者になれた気がした。を格下目線から批判してみた。を高階関数でタイトルを作ってみた。"
結論
- このケースなら
Join
を使った方が簡単ですね。
join
[
'高階関数を書いたら、中級者になれた気がした。',
'批判したら上級者になれた気がした。',
'格下目線から批判してみた。',
'高階関数でタイトル生成してみた。',
].join('を')
Tips
- 高階関数は、英語で higher-order functions です。