如何使用jQuery.grep()动态筛选数组
How can I use jQuery.grep() to dynamically filter an array?
我正在尝试过滤一个对象数组以从中删除一些元素。我正在尝试使用jQuery.grep(),但我不知道这是否是最好的工具。
我的对象数组中的每个元素都有一个"type"元素,我需要删除具有特定"type"值的元素。但是这些值是未知的,因为它们将由用户提供。
以下是我遇到的问题:
theNewArray = $.grep(database, function( n ) {
return ( n.type != /* I don't know what to put here */ );
});
我尝试过获取数组中的所有"type"值,但我不知道该怎么处理。
使用Array.filter
过滤掉您不想要或确实想要的内容:
var numbers = [1, 2, 3, 4, 5];
// Filter out `3`
var result = numbers.filter(function (number) {
return number !== 3;
});
alert(result);
好吧,如果有其他人来找我,@Grundy会让我走上正确的道路。这就是我最终在一些上下文中使用的内容:
//Example of the original array of objects that I want to filter
var database = [
{
firstName:"John",
lastName:"Doe",
type:"Man"
},
{
firstName:"Jane",
lastName:"Doe",
type:"Woman"
},
];
//Here I put the user input in an array (simplified)
var filterArray = [];
$("#settings a.uncheck").each(function(){
filterArray.push($(this).data( "type" ));
});
//And here I remove the objects in the original array that have the "type" values in the user input
filteredDatabase = $.grep(database, function( n ) {
return ( filterArray.indexOf(n.type) == -1 );
});
相关文章:
- 无法从 jQuery RSS Feed 中的 localStorage 动态替换类
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 动态分配GA增强型电子商务跟踪器
- onkeyup无法动态创建多个文本区域
- 使用javascript将动态表从一个html页面打印到另一个html页
- 如何使Javascript动态html表及其上的事件
- 动态地改变“”的URL;添加新项目”;链接使用javascript/jquery
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 如何使用javascript从主svg对象动态创建svg视图框
- 动态更改Webkit筛选器值
- mongoDB动态查询中的日期筛选器
- 如何创建具有空白选项和未筛选状态的动态选择字段
- 动态添加维度到交叉筛选器
- Dojo 筛选选择 - 动态将下拉列表中的特定选项标记为禁用(灰显且不可选择)
- 选择另一个下拉列表时,Meteor 会动态筛选下拉列表
- jquery未筛选的动态生成的select标记选项
- ExtJS存储对已筛选的存储进行动态筛选
- 如何使用jQuery.grep()动态筛选数组
- JQuery没有't更新:动态添加元素的最后一个筛选器
- 使用jQuery进行筛选->动态应用更改