From a list of IDs with empty and non-empty values, retrieve specific ID records in JavaScript

When working with arrays of objects containing IDs, you often need to filter records based on specific ID values. JavaScript's filter() method provides an efficient way to retrieve all objects matching a particular ID, even when the array contains empty or null ID values.

Sample Data

Let's work with the following array that contains both valid and empty ID values:

var details = [
    {id: 101, name: "John", age: 21},
    {id: 111, name: "David", age: 24},
    {id: 1, name: "Mike", age: 22},
    {id: "", name: "Sam", age: 20},
    {id: 1, name: "Carol", age: 23},
    {id: null, name: "Robert", age: 25},
    {id: 1, name: "Adam", age: 24},
    {id: "", name: "Chris", age: 23}
];

console.log("Original array:");
console.log(details);
Original array:
[
  { id: 101, name: 'John', age: 21 },
  { id: 111, name: 'David', age: 24 },
  { id: 1, name: 'Mike', age: 22 },
  { id: '', name: 'Sam', age: 20 },
  { id: 1, name: 'Carol', age: 23 },
  { id: null, name: 'Robert', age: 25 },
  { id: 1, name: 'Adam', age: 24 },
  { id: '', name: 'Chris', age: 23 }
]

Using filter() to Retrieve Specific ID Records

You can use the filter() method to retrieve all records that match a specific ID:

var details = [
    {id: 101, name: "John", age: 21},
    {id: 111, name: "David", age: 24},
    {id: 1, name: "Mike", age: 22},
    {id: "", name: "Sam", age: 20},
    {id: 1, name: "Carol", age: 23},
    {id: null, name: "Robert", age: 25},
    {id: 1, name: "Adam", age: 24},
    {id: "", name: "Chris", age: 23}
];

// Filter records with ID = 1
var getIdWithValue1 = details.filter(obj => obj.id === 1);
console.log("Records with ID = 1:");
console.log(getIdWithValue1);
Records with ID = 1:
[
  { id: 1, name: 'Mike', age: 22 },
  { id: 1, name: 'Carol', age: 23 },
  { id: 1, name: 'Adam', age: 24 }
]

Filtering Different ID Types

You can also filter for empty strings, null values, or specific numeric IDs:

var details = [
    {id: 101, name: "John", age: 21},
    {id: 111, name: "David", age: 24},
    {id: 1, name: "Mike", age: 22},
    {id: "", name: "Sam", age: 20},
    {id: 1, name: "Carol", age: 23},
    {id: null, name: "Robert", age: 25},
    {id: 1, name: "Adam", age: 24},
    {id: "", name: "Chris", age: 23}
];

// Filter records with empty string IDs
var emptyIds = details.filter(obj => obj.id === "");
console.log("Records with empty ID:");
console.log(emptyIds);

// Filter records with null IDs
var nullIds = details.filter(obj => obj.id === null);
console.log("Records with null ID:");
console.log(nullIds);

// Filter records with ID = 101
var specificId = details.filter(obj => obj.id === 101);
console.log("Records with ID = 101:");
console.log(specificId);
Records with empty ID:
[
  { id: '', name: 'Sam', age: 20 },
  { id: '', name: 'Chris', age: 23 }
]
Records with null ID:
[
  { id: null, name: 'Robert', age: 25 }
]
Records with ID = 101:
[
  { id: 101, name: 'John', age: 21 }
]

Filtering Non-Empty IDs

To get all records that have valid (non-empty, non-null) IDs:

var details = [
    {id: 101, name: "John", age: 21},
    {id: 111, name: "David", age: 24},
    {id: 1, name: "Mike", age: 22},
    {id: "", name: "Sam", age: 20},
    {id: 1, name: "Carol", age: 23},
    {id: null, name: "Robert", age: 25},
    {id: 1, name: "Adam", age: 24},
    {id: "", name: "Chris", age: 23}
];

// Filter records with valid (non-empty, non-null) IDs
var validIds = details.filter(obj => obj.id !== "" && obj.id !== null);
console.log("Records with valid IDs:");
console.log(validIds);
Records with valid IDs:
[
  { id: 101, name: 'John', age: 21 },
  { id: 111, name: 'David', age: 24 },
  { id: 1, name: 'Mike', age: 22 },
  { id: 1, name: 'Carol', age: 23 },
  { id: 1, name: 'Adam', age: 24 }
]

Conclusion

The filter() method is the most efficient way to retrieve specific ID records from arrays. Use strict equality (===) to match exact values, including empty strings and null values.

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

291 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements