Javascript 使用 lodash 过滤包含字符串的对象数组
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/37861375/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-23 20:49:16 来源:igfitidea点击:
Filter array of objects that contains string using lodash
提问by Leonel Matias Domingos
I have a value and i need to return the objects that contains this value in propertie.
我有一个值,我需要在属性中返回包含此值的对象。
var search='CPP@';
var results=_.filter(collection,{VAL:search});
I need to grab all objects that constains 'CPP@' , not the equals. I've prepared a https://jsfiddle.net/licass/e87mxfqt/
我需要获取包含 'CPP@' 的所有对象,而不是等号。我准备了一个https://jsfiddle.net/licass/e87mxfqt/
回答by Vladu Ionut
var collection=[
{
"DSP_MAQ": "Máquina 4",
"VAL": "CPP@4@1900-01-01"
},
{
"DSP_MAQ": "Máquina 5",
"VAL": "CMIP@5@1900-01-01"
},
{
"DSP_MAQ": "Máquina 6",
"VAL": "CMIP@6@1900-01-01"
},
{
"DSP_MAQ": "Máquina 7",
"VAL": "CMIP@7@1900-01-01"
},
{
"DSP_MAQ": "Máquina 8",
"VAL": "CPP@8@1900-01-01"
},
{
"DSP_MAQ": "Máquina 9",
"VAL": "CMIP@9@1900-01-01"
},
{
"DSP_MAQ": "Máquina 10",
"VAL": "CMIP@10@1900-01-01"
}
];
var search='CPP@';
var results=_.filter(collection,function(item){
return item.VAL.indexOf(search)>-1;
});
console.log(results);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/3.10.1/lodash.min.js"></script>
var search='CPP@';
var results=_.filter(collection,function(item){
return item.VAL.indexOf(search)>-1;
});
console.log(results);
回答by k102
var results = _.filter(collection,function(obj) {
return obj.VAL.indexOf(search) !== -1;
});
回答by prudvi raju
var collection=[
{
"DSP_MAQ": "Máquina 4",
"VAL": "CPP@4@1900-01-01"
},
{
"DSP_MAQ": "Máquina 5",
"VAL": "CMIP@5@1900-01-01"
},
{
"DSP_MAQ": "Máquina 6",
"VAL": "CMIP@6@1900-01-01"
},
{
"DSP_MAQ": "Máquina 7",
"VAL": "CMIP@7@1900-01-01"
},
{
"DSP_MAQ": "Máquina 8",
"VAL": "CPP@8@1900-01-01"
},
{
"DSP_MAQ": "Máquina 9",
"VAL": "CMIP@9@1900-01-01"
},
{
"DSP_MAQ": "Máquina 10",
"VAL": "CMIP@10@1900-01-01"
}
];
var search='CMIP@9@1900-01-01';
var filterList = collection.filter(function(item) {
return item.VAL === search;
})
console.log(filterList)