使用javascript或jquery从数组中使用多个值筛选数组对象

使用javascript或jquery从数组中使用多个值筛选数组对象,javascript,jquery,Javascript,Jquery,行用户数组看起来像 var users = [{name: 'John',address: 'USA',year:2010 },{name: 'John',address: 'USA',year:2011 },{name: 'John',address: 'USA',year:2012 },{name: 'John',address: 'USA',year:2013 },{name: 'John',address: 'USA',year:2014}]; 过滤器阵列是 var filter_ye

行用户数组看起来像

var users = [{name: 'John',address: 'USA',year:2010 },{name: 'John',address: 'USA',year:2011 },{name: 'John',address: 'USA',year:2012 },{name: 'John',address: 'USA',year:2013 },{name: 'John',address: 'USA',year:2014}];
过滤器阵列是

var filter_year = ['2010','2011','2012'];
如何在filter_year中获得使用年份过滤的结果数组,我需要获得类似的结果数组

var users = [{name: 'John',address: 'USA',year:2010 },{name: 'John',address: 'USA',year:2011 },{name: 'John',address: 'USA',year:2012 }];

只需根据包含在另一个数组中的内容筛选一个数组

var users=[{name:'John',address:'USA',year:2010},{name:'John',address:'USA',year:2011},{name:'John',address:'USA',year:2012},{name:'John address:'USA',year:2013},{name:'John address:'USA',year:2014}];
风险值过滤年=['2010'、'2011'、'2012'];
var result=users.filter(item=>filter_year.includes(item.year+“”));

console.log(result)
您可以使用下面的代码获取给定年份的所有用户

var过滤器\u年份=['2010'、'2011'、'2012'],
用户=[{姓名:'John',地址:'USA',年份:2010},{姓名:'John',地址:'USA',年份:2011},{姓名:'John',地址:'USA',年份:2012},{姓名:'John',地址:'USA',年份:2014},{,
filteredUsers=[]
allYears=筛选年。加入(“|”);
对于(用户中的var用户){
if(allYears.indexOf(用户[user].year)!=-1){
push(用户[用户]);
}
}

控制台日志(过滤器读写器)
您必须迭代json并只推送那些年在
filter\u year
中存在的json对象。为什么您使用
item.year+“”
而不是
item.year.toString()
?它对性能有什么好处吗?@NisargShah-不知道,但从性能角度看,这可能并不重要,它们都做相同的事情,强制使用字符串