使用下划线从对象列表中筛选匹配的值
filtering matching values from list of object using underscore
我在项目中使用UnderscoreJs
。我必须筛选一个包含具有属性的对象的数组。我需要根据这些值进行筛选。该值可以是对象的任何属性。例如:"迷你"应该同时获得"丰田"answers"本田",因为"迷你"是两个对象的一部分
[{ name:"Toyota minivan", id:"506", size: "large" }, { name:"Honda Civic", id:"619", size: "mini" }]
如何使用Undercore。我尝试过以下方法,但没有成功。
var searchStr="mini";
var evens = _.filter([arrayData], function(obj){ return _.contains(obj, searchStr); });
你能告诉我哪里出了问题吗?
_.contains
仅适用于数组,因此需要首先获取每个对象的值,然后检查其中是否包含搜索字符串。在本例中,我使用了some
和indexOf
来匹配字符串。
var searchStr="mini";
var mini = _.filter(arr, function (obj) {
return _.values(obj).some(function (el) {
return el.indexOf(searchStr) > -1;
});
});
DEMO
好吧,我已经用简单的if条件做到了这一点,这样将来如果你想在一个数组中列出mini,在一个阵列中列出large,这样你就可以很容易地做到。我已经检查了对象属性,如果匹配,则分配给新列表。这是我的密码。并在这里查看演示小提琴
var list=[{ name:"Toyota minivan", id:"506", size: "large" },
{ name:"Honda Civic", id:"619", size: "mini" },
{name:"zen",id:"606",size:"mini"}];
var result=_.filter(list, function(obj){
if(obj.size=='mini'){
var matchedcars=obj;
console.log("result"+JSON.stringify(matchedcars));
}
return matchedcars;
});
alert("result"+JSON.stringify(result));
相关文章:
- 使用下拉列表筛选列表(ul>li)
- React中的筛选列表
- 在本地存储中选中复选框,但在加载时也要筛选列表
- 控制器中的筛选列表没有'不起作用
- 我们可以将控制器中的JSON数据(MM/DD/YYYY格式)与今天的's日期,并在数组中显示筛选列表
- 使用 角度$filter服务就地筛选列表
- 在子对象中显示筛选列表的挖空 js.访问要过滤的父对象列表
- 在变量中存储后筛选列表项
- 使用单选按钮筛选列表
- 基于从下拉列表中选择的值的筛选列表不起作用
- SAPUI5:如何在两个视图之间筛选列表
- Jquery按子项筛选列表
- ember.js如何为视图显示不同的筛选列表?复杂的设置
- 如何筛选列表中的项目而不破坏其他筛选器
- 筛选包含多个单词的筛选列表
- JQuery:筛选列表元素
- 使用自动完成功能中的选择来筛选列表
- 如何根据文本框值筛选列表框的内容
- 如何使用jQuery按多个条件正确筛选列表
- 基于用户筛选列表项目's在javascript中的搜索词