问题 使用lodash过滤包含字符串的对象数组


我有一个值,我需要返回属性中包含此值的对象。

var search='CPP@';
var results=_.filter(collection,{VAL:search});

我需要抓住所有压缩'CPP @'的对象,而不是等于。 我已经准备好了 https://jsfiddle.net/licass/e87mxfqt/

提前致谢。


1581
2018-06-16 13:57


起源



答案:


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

8
2018-06-16 14:03



太棒了谢谢你们俩... - Leonel Matias Domingos
如何计算退回商品的数量 - user2613946
var count = results.length - 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);

8
2018-06-16 14:03



太棒了谢谢你们俩... - Leonel Matias Domingos
如何计算退回商品的数量 - user2613946
var count = results.length - Vladu Ionut


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

4
2018-06-16 14:04



如果你添加一些解释会更好! - Pritam Banerjee


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)
使用javascirpt过滤器。


-2
2018-06-16 14:12



这不是'包含' - 这是'等于' - Steve