Lodash v4.17.2
有人可以说明链接的工作原理吗?我只是没有找到任何文档或博客来说明lodash方法的返回结果。在下面的代码示例中,为什么对filterAge的第二次分配不起作用?还是类似链式的更多jquery?如果有人拥有解释这一点的资源,我会喜欢的。
let characters = [
{ 'name': 'barney1', 'age': 36, 'pets': ['hoppy'] },
{ 'name': 'barney2', 'age': 36, 'pets': ['hoppy'] },
{ 'name': 'barney3', 'age': 36, 'pets': ['hoppy'] },
{ 'name': 'barney4', 'age': 36, 'pets': ['hoppy'] },
{ 'name': 'fred', 'age': 40, 'pets': ['baby puss', 'dino'] }
];
let filterAge = _.take(_.slice(_.filter(characters, { 'age': 36 }), 2), 5);
filterAge = _.filter(characters, { 'age': 36 })
.slice(2)
.take(5);
console.log(JSON.stringify(filterAge));Run Code Online (Sandbox Code Playgroud)
<script src="https://cdn.jsdelivr.net/lodash/4.17.2/lodash.min.js"></script>Run Code Online (Sandbox Code Playgroud)
您可以在描述中找到有关链或序列的文档_(value)以及该库的其他“ Seq”函数/方法。
要与lodash链接,您将需要使用_(value)或_.chain(value)创建一个序列,.value()最后要检索结果。
在这两者之间,lodash的其他每个功能都可以作为序列方法使用,但有两个区别:
这些方法返回一个修改后的序列对象,该对象保留当前值,而不是值本身,.value()方法除外。
第一个参数已删除。每个方法都是从序列对象之前的值而不是参数中获取要处理的值。并且,传递给函数的其他参数将方法左移一个位置。
例如:
filterAge = _.chain(characters)
.filter({ 'age': 36 })
.slice(2)
.take(5)
.value();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
659 次 |
| 最近记录: |