我想在单个string
上链接一些方法,以便字符串操作看起来更具可读性。
但似乎chain()
仅适用于集合。
这不是问题,我只是将它包装到数组中,但是为了获取最终值,我必须使用零索引运算符,这在这里看起来很奇怪。
var res = _([" test "])
.map(function(s) { return s + s; })
.map(_.trim)
.value()[0];
或TypeScript:
var res = _([" test "])
.map(s => s + s)
.map(_.trim)
.value()[0];
如何解决?
答案 0 :(得分:1)
lodash
中有两个功能:
thru
-将自定义函数应用于链中的值; tap
-应用自定义函数,但不传播其返回值; 示例(纯ES6):
const res = _.chain(" test ")
.thru(s => s + s)
.thru(_.trim)
.value();
答案 1 :(得分:0)
解决方案是使用head()
代替value()
:
var res = _([" test "])
.map(function(s) { return s + s; })
.map(_.trim)
.head();
或TypeScript:
var res = _([" test "])
.map(s => s + s)
.map(_.trim)
.head();
这种方式res
只是一个字符串,代码更具可读性。