Using jQuery's grep to parse JSON data

jQuery’s grep() is a powerful and underutilised filter method. It’s a simple method which helps in searching/filtering data in arrays. Grep() is quite helpful when we have to parse JSON data. It’s return type is an array.

https://api.jquery.com/jQuery.grep/

Description: Finds the elements of an array which satisfy a filter function. The original array is not affected.

To extract all employee ids

var sampleArray = '1,EmpNameA,2,EmpNameB,3,EmpNameC,4,EmpNameD'.split(',');
var OutputArray = $.grep(sampleArray, function(objItem, index) {
    // Check if objItem passed is a number (isNAN), 
    // return TRUE if objItem is a number else FALSE
    return !isNaN(objItem);
});

Another example is on how to use grep() on JSON. Suppose we need to extract only active employees from a JSON, we can filter the same using grep() and look for Active = True

var SampleJSON = [{
    "EmpId": 1,
    "EmpName": "EmployeeA",
    "Active": "True"
}, {
    "EmpId": 2,
    "EmpName": "EmployeeB",
    "Active": "False"
}, {
    "EmpId": 3,
    "EmpName": "EmployeeC",
    "Active": "True"
}, {
    "EmpId": 4,
    "EmpName": "EmployeeD",
    "Active": "False"
}, {
    "EmpId": 5,
    "EmpName": "EmployeeE",
    "Active": "True"
}, {
    "EmpId": 6,
    "EmpName": "EmployeeF",
    "Active": "False"
}, {
    "EmpId": 7,
    "EmpName": "EmployeeG",
    "Active": "False"
}, {
    "EmpId": 8,
    "EmpName": "EmployeeH",
    "Active": "True"
}];

var OutputArray = $.grep(SampleJSON, function(objItem) {
    return objItem.Active == True;
});