JSON对象多重过滤器

Neh*_*try 5 javascript arrays jquery json object

我有一个JSON对象,其中数据从表单中选择元素时得到过滤。我的表单包含以下元素:

Min Age - Max AgeGender - male(1) & female(2)

以下是我的JSON对象:

[
   {
      "id":"1",
      "name":"nehil",
      "gender":"1",
      "birthday":"1991-07-22",
      "business_id":"1",
      "timestamp":"2016-03-23 04:46:42",
      "age":"24"
   },
   {
      "id":"2",
      "name":"vartika ",
      "gender":"2",
      "birthday":"1990-08-14",
      "business_id":"1",
      "timestamp":"2016-03-23 04:46:46",
       "age":"25"
   },
   {
      "id":"3",
      "name":"atharva",
      "gender":"1",
      "birthday":"1992-10-10",
      "business_id":"1",
      "timestamp":"2016-03-23 04:46:49",
       "age":"23"
   },
   {
      "id":"4",
      "name":"karan",
      "gender":"1",
      "birthday":"1992-12-22",
      "business_id":"1",
      "timestamp":"2016-03-23 04:46:52",
      "age":"23"
   }
]
Run Code Online (Sandbox Code Playgroud)

Gender选择是否是男性的情况下,我id要从该对象中获取所有男性,并将其推入数组。以后,如果我将“最小年龄”选择为23,将“最大年龄”选择为24,则希望在该阵列中更新所有具有以下年龄的男性。

实现此目标的最佳策略是什么?

以下是我的小提琴链接-http://jsfiddle.net/Nehil/2ym3ffo0/4/

RIY*_*HAN 3

您可以使用过滤器

var arrMale,arrFeMale ; 
arrMale = geGenderData(1)
arrFemale = geGenderData(2)

console.log(arrMale)
console.log(arrFemale)

    function geGenderData(intGenderNum){

        return data.filter(function(oneObj,key){

           return oneObj.gender ==intGender;
        })

    }
Run Code Online (Sandbox Code Playgroud)

工作小提琴

您可以使用最小和最大条件对年龄进行类似的操作