2017-07-15 13 views
1

Ramdaを使用して、文字列の大文字にポイントフリー関数を作成しようとしていますが、これは初めてのことであり、うまくいきません。ラムダ文字列の大文字

const list = ['a', 'b', 'c', 'd', 'e'] 
const fn = R.compose(R.toUpper, R.map) 
console.log('result', fn(list)) 

は私にUncaught TypeError: function n(r){return 0===arguments.length||w(r)?n:t.apply(this,arguments)} does not have a method named "toUpperCase"

を取得し、私も

const fn = R.compose(R.toUpper, R.map(list)) 
console.log('result', fn()) 

を試してみましたが、同じエラーを取得しました。

これを行うにはどうすればRamdaを使用できますか?

答えて

3

あなたは作成する必要はありません。あなたは、単に

const fn = R.map(R.toUpper) 

Demo

+0

素晴らしい単一の引数でそれを呼び出すことができるようにR.mapはカリー化されました! 'R.compose'はいつ使うべきですか? – 1252748

+2

ある関数を後で呼び出す必要があるとき。 'trim'の後に' toUpper'と言ってください[demo](http://ramdajs.com/repl/?v=0.24.1#?const%20list%20%3D%20%5B%27%20a%20%27% 2C%20%27%20%2C%20%27%20C%20%27%2C%20%27%20D%20%27%2C%20%27%20E%20%27%5D% 0Aconst%20fn%20%3D%20R.map%28%0A%20%20R.compose%28R.toUpper%2C%20R.trim%29%0A%29%0Aconsole.log%28%27result%27%2C% 20fn%28list%29%29) –

関連する問題