javascript - Lodash:使用函数数组转换单个值

标签 javascript lodash

我正在寻找lodash能够使用函数数组转换/映射/过滤单个值的函数,例如:

给定值为:" a, b ,c"

然后使用如下函数调用 lodash: _.transform(value, functionList)

其中functionListsplit 的函数数组和trimEach .

预期结果是 ['a', 'b', 'c'] .

<小时/>

更新:

感谢@vlaz,_.flow()这就是我正在寻找的东西。

我上面给出的例子说明了函数的用途。我不是在寻找如何分割和 trim 字符串(抱歉,可能是我的英语不够好)。

为了回答我自己的问题(和我的示例),示例代码是:

function split(v) {
    return v.split(',')
}
function trimStrArray(v) {
    return _.map(v, _.trim)
}
var fn = _.flow([split, trimStrArray])

console.log(fn(" a, b ,c"))
<script src="https://cdn.jsdelivr.net/lodash/4.15.0/lodash.min.js"></script>

谢谢大家。

最佳答案

您可以使用Array.prototype.reduce()_.reduce()来实现它。在函数数组上调用reduce:

function transform(value, functionList) {
  return functionList.reduce(function(result, fn) {
    return fn(result);
  }, value);
}

var value = " a, b, c";

function split(value) {
  return value.split(',');
}

function trimEach(value) {
  return value.map(function(item) {
    return item.trim();
  });
}

var functionList = [split, trimEach];

var result = transform(value, functionList);

console.log(result);

关于javascript - Lodash:使用函数数组转换单个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39570792/

相关文章:

JavaScript 官方关键字快捷键

javascript - 是否有任何原因导致我无法获取我的页面

javascript - 如何使用 lodash 从对象中删除未定义值和空值?

javascript - Lodash 查找数组中是否存在对象属性

javascript - 通过addJavascriptInterface将JSONArray注入(inject)到webiew

javascript - 表达语言语法

javascript - 使用 Jasmine 测试 Lodash sortBy 函数参数

javascript - 如何格式化 JSON 对象数组 (Javascript)

typescript - 使用 Angular 4 Pipes 或 Rxjs 运算符对对象数组 (json) 中的属性值进行分组/求和

javascript - 如何在 JavaScript 中设置浏览器特定的 css?