[英]Use Lodash chain on single value
我想在單個string
上鏈接一些方法,以便字符串操作看起來更具可讀性。
但似乎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];
如何解決?
lodash
有兩個函數:
thru
- 將自定義函數應用於鏈中的值;tap
- 應用自定義函數,但不傳播其返回值;示例(純 ES6):
const res = _.chain(" test ")
.thru(s => s + s)
.thru(_.trim)
.value();
解決方案是使用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
只是一個字符串,代碼可讀性更好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.