Lodash链功能的调试

Har*_*uva 2 lodash

如何在浏览器中调试lodash链函数。

前任:

if (_.size(_.values(_.omit(this.user, 'language')).filter(Boolean)) < 2)
Run Code Online (Sandbox Code Playgroud)

如果我们想调试_.omit(this.user, 'language')然后用另一个函数得到最终结果,_.values()如示例所示,应该做什么。

我尝试搜索,但只能找到 console.log,但如果我们想在浏览器中调试,我们该怎么做。

Akr*_*ion 5

链函数和 lodash 序列通常被“调试”或“利用”到 via_.tap_.thru

tap:该方法调用拦截器并返回值。拦截器通过一个参数调用;(价值)。该方法的目的是“利用”方法链序列以修改中间结果。

所以像这样:

const obj = { name: 'Ace', language: 'English', age: 3 }

const result = _(obj)
 .tap(x => console.log(x))
 .omit('language')
 .tap(x => console.log(x))
 .omit('age')
 .tap(x=> console.log(x))
 .value()
Run Code Online (Sandbox Code Playgroud)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
Run Code Online (Sandbox Code Playgroud)

thru:该方法类似于_.tap,只不过它返回拦截器的结果。此方法的目的是“传递”值以替换方法链序列中的中间结果。