2017-01-25 21 views
2

関数型プログラミングの仕方で作業するために、一時変数を使用せずに文字列を変換したい。私はそれを純粋なJSまたはロダッシュを使用してのみしたいと思います。lodashを使用して文字列を別の文字列に変換する

(@ニーナ・ショルツで尋ねたもの)を考える:

const input = 'a string from somewhere'; 
const option1 = true; 
const option2 = false; 
const applyOption1 = str => 'prefix-' + str; 
const applyOption2 = str => str + '-suffix'; 
const myFilter = str => str.contains('somewhere'); 

私が持っているもの:私が欲しいもの

let cleanedInput = input; 
if (option1) { 
    cleanedInput = applyOption1(cleanedInput); 
} 
if (option2) { 
    cleanedInput = applyOption2(cleanedInput); 
} 

return _.chain(cleanedInput) 
    .split('') 
    .filter(blabla) 
    .value(); 

return _.chain(input) 
    .SOMETHING(value => (option1 ? applyOption1(value) : value)) 
    .SOMETHING(value => (option2 ? applyOption2(value) : value)) 
    .split('') 
    .filter(blabla) 
    .value(); 

私は愚かにmapを使用しますが、それは文字列の文字を反復処理します。私は何のために使うことができますか?

ありがとうございます! @粗野・バニーへ

+0

'blabla'、 'option1'などの内容と' applyOption1'のような関数を追加してください。いくつかの入力と必要な出力も含まれています。 –

+2

[thru](https://lodash.com/docs/4.17.4#thru)をご覧ください。 –

答えて

2

おかげで、私が探していた方法は、私が見つけたもう一つの解決策は、すべて私のmap呼び出した後head()を行い、配列内の私の文字列を入れていたthru

です。

関連する問題