繁体   English   中英

AngularJS应用程序中_.find Lodash语句内的花括号

[英]Curly Braces Inside a _.find Lodash Statement in an AngularJS app

我的新工作继承了AngularJS项目的一团糟。 我最近一直在尝试解决具有以下Lodash语句的错误:

 var group = _.find(groupList, {id: id});

https://lodash.com/docs/3.10.1#find上提供的文档(该文档是我最接近版本3.7.0的),_.find函数遍历一个集合并返回第一个对象。声明是“真实的”。 表达式内的第二项将代表要执行的功能。

但是,我对{id:id}在这种情况下所做的事情感到困惑。 这是一个角度表达吗? 它到底在做什么? 任何帮助将非常感激。

这意味着-在数组中搜索具有属性id和变量id的值的对象。

 var groupList = [{ id: 21, name: 'cats' }, { id: 17, name: 'dogs' }, { id: 701, name: 'rats' }]; var id = 17; var group = _.find(groupList, {id: id}); console.log(group); 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script> 

也许尝试阅读您发布的链接中的所有文档? 具体看一下示例:

var users = [
  { 'user': 'barney',  'age': 36, 'active': true },
  { 'user': 'fred',    'age': 40, 'active': false },
  { 'user': 'pebbles', 'age': 1,  'active': true }
];

_.result(_.find(users, function(chr) {
  return chr.age < 40;
}), 'user');
// => 'barney'

// using the `_.matches` callback shorthand
_.result(_.find(users, { 'age': 1, 'active': true }), 'user');
// => 'pebbles'

// using the `_.matchesProperty` callback shorthand
_.result(_.find(users, 'active', false), 'user');
// => 'fred'

// using the `_.property` callback shorthand
_.result(_.find(users, 'active'), 'user');
// => 'barney'

我相信第二个例子说

//使用_.matches回调速记

回答您的问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM