我明白pick是用来获取一个只有指定属性的对象:
_.pick({name: 'moe',age: 50,userid: 'moe1'},'name','age'); => {name: 'moe',age: 50}
[{name: 'moe1',{name: 'moe2',{name: 'moe3',userid: 'moe1'}]
[{name: 'moe1',age: 50},age: 50}]
我必须在数组上做一个(),然后对每个对象执行一个pick(),还是有一个更干净的方法?
编辑
对不起,只是另一个小小的要求,我将如何执行一个地方(即获得所有年龄大于50岁的人),然后执行选择?
编辑
这样做完成,不知道链接如何工作在下划线.
_(data).reject(function (r) { return d.age<51; }).map(function (o) { return _.pick(o,"age","name"); });
解决方法
您必须使用_.map并在所有对象上应用相同的_.pick.
var data = [{name: 'moe1',age: 30,age: 60,userid: 'moe1'}]; var result = _.map(data,function(currentObject) { return _.pick(currentObject,"name","age"); }); console.log(result);
产量
[ { name: 'moe1',age: 50 },{ name: 'moe2',{ name: 'moe3',age: 50 } ]
如果您想要获取年龄为>的对象50,你可能想这样做
var data = [{name: 'moe1',userid: 'moe1'}]; function filterByAge(currentObject) { return currentObject.age && currentObject.age > 50; } function omitUserId(currentObject) { return _.omit(currentObject,"userid"); } var result = _.map(_.filter(data,filterByAge),omitUserId); console.log(result);
产量
[ { name: 'moe3',age: 60 } ]
你可以这样做链接as suggested by rightfold,像这样
var result = _.chain(data).filter(filterByAge).map(omitUserId).value();
原文地址:https://www.jb51.cc/js/153326.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。