How can I filter JSON data with multiple objects?

To filter JSON data with multiple objects, you can use the filter() method along with comparison operators. This allows you to extract specific objects based on criteria.

Syntax

array.filter(callback(element, index, array))

Example: Filter by Single Property

const jsonObject = [
    {
        studentId: 101,
        studentName: "David"
    },
    {
        studentId: 102,
        studentName: "Mike"
    },
    {
        studentId: 103,
        studentName: "David"
    },
    {
        studentId: 104,
        studentName: "Bob"
    }
];

var result = jsonObject.filter(obj => obj.studentName == "David");
console.log(result);
[
    { studentId: 101, studentName: 'David' },
    { studentId: 103, studentName: 'David' }
]

Filter by Multiple Conditions

const students = [
    { studentId: 101, studentName: "David", grade: "A" },
    { studentId: 102, studentName: "Mike", grade: "B" },
    { studentId: 103, studentName: "David", grade: "B" },
    { studentId: 104, studentName: "Bob", grade: "A" }
];

// Filter by name AND grade
var result = students.filter(obj => obj.studentName === "David" && obj.grade === "B");
console.log("Students named David with grade B:", result);

// Filter by grade OR specific ID
var result2 = students.filter(obj => obj.grade === "A" || obj.studentId === 102);
console.log("Grade A students or ID 102:", result2);
Students named David with grade B: [ { studentId: 103, studentName: 'David', grade: 'B' } ]
Grade A students or ID 102: [
    { studentId: 101, studentName: 'David', grade: 'A' },
    { studentId: 102, studentName: 'Mike', grade: 'B' },
    { studentId: 104, studentName: 'Bob', grade: 'A' }
]

Filter Using Array of Values

const students = [
    { studentId: 101, studentName: "David" },
    { studentId: 102, studentName: "Mike" },
    { studentId: 103, studentName: "Sarah" },
    { studentId: 104, studentName: "Bob" }
];

const targetNames = ["David", "Mike"];
var result = students.filter(obj => targetNames.includes(obj.studentName));
console.log("Students with names in target list:", result);
Students with names in target list: [
    { studentId: 101, studentName: 'David' },
    { studentId: 102, studentName: 'Mike' }
]

Key Points

  • filter() returns a new array without modifying the original
  • Use === for strict equality comparison
  • Combine conditions with && (AND) or || (OR)
  • Use includes() to check if a value exists in an array

Conclusion

The filter() method provides a powerful way to extract specific objects from JSON arrays based on single or multiple criteria. Use logical operators to combine conditions for complex filtering requirements.

Updated on: 2026-03-15T23:18:59+05:30

17K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements