javascript - 使用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_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 filter_year = ['2010','2011','2012'],
    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}],
    filteredUsers = []
    allYears = filter_year.join("|");
    
    for(var user in users) { 
    	if(allYears.indexOf(users[user].year) !== -1) {
      		filteredUsers.push(users[user]);
       }
    }
    
    console.log(filteredUsers);

关于javascript - 使用javascript或jquery使用数组中的多个值过滤数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46087823/

相关文章:

javascript - JavaScript 中 HTML 文本的淡入淡出

php - Javascript Jquery 获取下拉值始终为 0

javascript - 中间点击 AJAX 链接 MVC

javascript - 如何测试关联数组中的所有值是否都为 true? (Javascript)

javascript - 将 HTML Canvas 中的像素颜色处理为另一种颜色但具有相同的阴影

javascript - .indexOf() 和 window.open

jquery - 如何在鼠标悬停时附加外部链接(字体)图标

javascript - 带有自定义导航、页面点和进度条的多个 Flickity 轮播

javascript - 如何在 jQuery Datepicker 中设置日期范围并将其设置为默认值?

javascript - 使用javascript获取不同时区