如何使用一些内部属性值过滤数据。
updated_id='1234';
var result= _.map(self.list, function (item) {
// return only item.User_Info.id=updated_id
});
答案 0 :(得分:1)
您可以使用lodash#matchesProperty
的lodash#filter
变体,使用属性的路径过滤掉您需要的对象。该变体位于lodash#filter
文档的第3个示例中。
var result = _.filter(self.list, ['User_Info.id', updated_id]);
var self = {
list: [
{ User_Info: { id: '4321' } },
{ User_Info: { id: '4321' } },
{ User_Info: { id: '1234' } },
{ User_Info: { id: '3214' } },
{ User_Info: { id: '2143' } }
]
};
var updated_id = '1234';
var result = _.filter(self.list, ['User_Info.id', updated_id]);
console.log(result);

<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>
&#13;
答案 1 :(得分:0)
lodash有一个过滤方法:
const updated_id='1234';
const result= _.filter(self.list, item => item.User_Info.id === updated_id);
答案 2 :(得分:0)
使用lodash _.filter方法:
_.filter(collection, [predicate=_.identity])
遍历collection的元素,返回所有谓词返回true的数组。谓词由三个参数调用:(值,索引|键,集合)。
以谓词作为自定义函数
_.filter(myArr, function(o) {
return o.name == 'john';
});
以谓词作为过滤对象的一部分(_.matches iteratee速记)
_.filter(myArr, {name: 'john'});
谓词为[key,value]数组(_.matchesProperty iteratee的简写。)
_.filter(myArr, ['name', 'John']);