在单个值上使用Lodash链

问题描述:

我想链接单个string上的某些方法,以便字符串操作看起来更具可读性。在单个值上使用Lodash链

但似乎chain()只适用于集合。

这不是问题,我只是将它包装到数组中,但要获取最终值,我必须使用零索引运算符,这在这里看起来很奇怪。

var res = _([" test "]) 
    .map(function(s) { return s + s; }) 
    .map(_.trim) 
    .value()[0]; 

或打字稿:

var res = _([" test "]) 
    .map(s => s + s) 
    .map(_.trim) 
    .value()[0]; 

如何解决呢?

的解决方案是使用head()代替value()

var res = _([" test "]) 
    .map(function(s) { return s + s; }) 
    .map(_.trim) 
    .head(); 

或打字稿:

var res = _([" test "]) 
    .map(s => s + s) 
    .map(_.trim) 
    .head(); 

这样RES只是一个字符串,和代码是更具有可读性。