使用lodash将字符串转换为另一个字符串

时间:2017-01-25 15:24:55

标签: javascript lodash

为了以函数式编程方式工作,我想要转换字符串而不必使用临时变量。我想只使用纯JS或lodash。

鉴于(@ nina-scholz的提问):

.parent { font-size: 0; }
.parent > * { font-size: 1rem; }

我有什么:

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(); 但它会迭代字符串的字符。那么我可以用什么来做事?

谢谢!

1 个答案:

答案 0 :(得分:2)

感谢@ gruff-bunny,我搜索的方法是thru

我发现的另一个解决方案是将我的字符串放在一个数组中,然后在所有head()次调用后执行map