Leonel Matias Domingos
Leonel Matias Domingos

Reputation: 2060

Filter array of objects that contains string using lodash

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/

Upvotes: 25

Views: 41395

Answers (3)

k102
k102

Reputation: 8079

var results = _.filter(collection,function(obj) {
    return obj.VAL.indexOf(search) !== -1;
});

update from 2022

You don't even need lodash now:

collection.filter(o => o.VAL.includes(search));

We now may use .filter method for arrays and .includes for arrays and strings. And arrow functions, of course!

Upvotes: 14

prudvi raju
prudvi raju

Reputation: 505

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)
use javascirpt filter.

Upvotes: -3

Vladu Ionut
Vladu Ionut

Reputation: 8193

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);

Upvotes: 20

Related Questions