How to find property values from an array containing multiple objects in JavaScript ?
Last Updated : 15 Jan, 2024
To find property values from an array containing multiple objects in JavaScript, we have multiple approaches. In this article, we will learn how to find property values from an array containing multiple objects in JavaScript.
Several methods can be used to find property values from an array containing multiple objects.
Approach 1: Using for-loop
In this approach We create a function using a for-loop to iterate through objects, searching for a property's value. Matching values are pushed into a new array, which is returned as the output.
Syntax:
for (statement 1 ; statement 2 ; statement 3){
code here...
}
Example: In this example, The function searchValue filters objects with a specific 'fruit_color' property value. It returns a new array with matching fruits.
JavaScript let fruits_details = [ { fruit_name: "Apple", fruit_color: "Red", }, { fruit_name: "Pomegranate", fruit_color: "Red", }, { fruit_name: "Banana", fruit_color: "Yellow", }, { fruit_name: "Grapes", fruit_color: "Green", }, ]; let searchValue = (property_value, array) => { let new_array = []; for (let i = 0; i < array.length; i++) { if (array[i].fruit_color === property_value) { new_array.push(array[i]); } } return new_array; }; console.log(searchValue("Red", fruits_details));
Output[ { fruit_name: 'Apple', fruit_color: 'Red' }, { fruit_name: 'Pomegranate', fruit_color: 'Red' } ]
Approach 2: Using the filter() method
In this approach Using the filter() method, we create a function to filter objects in the 'fruits_details' array based on a specific 'fruit_color' property value, returning a new array with matching fruits.
Syntax:
array.filter(callback(element, index, arr), thisValue)
Example: In this example, we will try to analyze a better approach to what exactly we have seen in the previous example itself. Here we will use the filter() method which will filter out all the properties and their corresponding values accordingly as per need.
JavaScript let fruits_details = [ { fruit_name: "Apple", fruit_color: "Red", }, { fruit_name: "Pomegranate", fruit_color: "Red", }, { fruit_name: "Banana", fruit_color: "Yellow", }, { fruit_name: "Grapes", fruit_color: "Green", }, ]; console.log(fruits_details.filter( (element) => element.fruit_color === "Red") );
Output[ { fruit_name: 'Apple', fruit_color: 'Red' }, { fruit_name: 'Pomegranate', fruit_color: 'Red' } ]
In this approach, The map() method doesn't directly filter objects, but we can use it to transform data by mapping the array elements to an array of matching fruits based on the 'fruit_color' property value.
Syntax:
const searchValue = (property_value, array) => {
return array.map((fruit) =>
fruit.fruit_color === property_value);
};
Example: In this example, the searchValue function uses the map() method to filter objects in the fruits_details array based on a specific 'fruit_color' property value. The function returns a new array containing objects with the matching 'fruit_color'.
JavaScript const fruits_details = [ { fruit_name: "Apple", fruit_color: "Red", }, { fruit_name: "Pomegranate", fruit_color: "Red", }, { fruit_name: "Banana", fruit_color: "Yellow", }, { fruit_name: "Grapes", fruit_color: "Green", }, ]; const searchValue = (property_value, array) => { return array.filter((fruit) => fruit.fruit_color === property_value); }; console.log(searchValue("Red", fruits_details));
Output[ { fruit_name: 'Apple', fruit_color: 'Red' }, { fruit_name: 'Pomegranate', fruit_color: 'Red' } ]
Approach 4: Using forEach() method
In this approach, The forEach() method iterates through objects in the 'fruits_details' array. If 'fruit_color' matches the specified value, it pushes the fruit object into the new array, returning the filtered result.
Syntax:
array.forEach(callback(element, index, arr), thisValue)
Example: In this example, the forEach() method iterates through the fruits_details array. For each object, it checks if the 'fruit_color' property matches the specified property_value. If there's a match, the fruit object is added to the filteredFruits array. The function returns the filtered array with fruits that match the specified 'fruit_color'.
JavaScript const fruits_details = [ { fruit_name: "Apple", fruit_color: "Red", }, { fruit_name: "Pomegranate", fruit_color: "Red", }, { fruit_name: "Banana", fruit_color: "Yellow", }, { fruit_name: "Grapes", fruit_color: "Green", }, ]; const searchValue = (property_value, array) => { const filteredFruits = []; array.forEach((fruit) => { if (fruit.fruit_color === property_value) { filteredFruits.push(fruit); } }); return filteredFruits; }; console.log(searchValue("Red", fruits_details));
Output[ { fruit_name: 'Apple', fruit_color: 'Red' }, { fruit_name: 'Pomegranate', fruit_color: 'Red' } ]
Lodash _.find() method accesses each value of the collection and returns the first element that passes a truth test for the predicate or undefined if no value passes the test. The function returns as soon as it finds the match. So it actually searches for elements according to the predicate.
Syntax:
_.find(collection, predicate, [fromIndex=0])
Example: In this example, we are passing the array and a function in the _.find() method which returns the matched first value.
JavaScript const _ = require('lodash'); let x = [2, 5, 7, 10, 13, 15]; let result = _.find(x, function (n) { if (n * n < 100) { return true; } }); console.log(result);
Output:
2
Similar Reads
How to Find Property Values in an Array of Object using if/else Condition in JavaScript ?
Finding property values in an array of objects using if/else condition is particularly useful when there is a collection of objects. Table of Content Using Array Find MethodUsing Array Filter MethodUsing For Of LoopUsing Array Map MethodUsing Array Reduce MethodUsing Array Some MethodUsing Array Fin
5 min read
How to Filter an Array of Objects Based on Multiple Properties in JavaScript ?
Filtering an array of objects based on multiple properties is a common task in JavaScript. It allows us to selectively extract items from an array that satisfy specific conditions. We will explore different approaches to achieve this task. These are the following approaches: Table of Content Using t
6 min read
How to get Values from Specific Objects an Array in JavaScript ?
In JavaScript, an array is a data structure that can hold a collection of values, which can be of any data type, including numbers, strings, and objects. When an array contains objects, it is called an array of objects. Table of Content Using the forEach() methodUsing the map() methodUsing the filte
2 min read
JavaScript - How To Get Distinct Values From an Array of Objects?
Here are the different ways to get distinct values from an array of objects in JavaScript 1. Using map() and filter() MethodsThis approach is simple and effective for filtering distinct values from an array of objects. You can use map() to extract the property you want to check for uniqueness, and t
4 min read
How to Iterate JavaScript Object Containing Array and Nested Objects ?
JavaScript provides us with several built-in methods through which one can iterate over the array and nested objects using the for...in loop, Object.keys(), Object.entries(), and Object.values(). Each method serves a distinct purpose in iterating over object properties, keys, and values which are ex
3 min read
How to Create Array of Objects From Keys & Values of Another Object in JavaScript ?
Creating an array of objects from the keys and values of another object involves transforming the key-value pairs of the original object into individual objects within an array. Each object in the array represents a key-value pair from the source object. Below approaches can be used to accomplish th
3 min read
How to Convert an Array of Objects to Map in JavaScript?
Here are the different methods to convert an array of objects into a Map in JavaScript 1. Using new Map() ConstructorThe Map constructor can directly create a Map from an array of key-value pairs. If each object in the array has a specific key-value structure, you can map it accordingly. [GFGTABS] J
4 min read
How to Remove a Property from All Objects in an Array in JavaScript?
To remove a property from all objects in an array in JavaScript, you can use the forEach() method to iterate over each object in the array and use the delete operator to remove the specified property. Example:[GFGTABS] JavaScript const arrayOfObjects = [ { name: "Alice", age: 25, city:
2 min read
How to convert a map to array of objects in JavaScript?
A map in JavaScript is a set of unique key and value pairs that can hold multiple values with only a single occurrence. Sometimes, you may be required to convert a map into an array of objects that contains the key-value pairs of the map as the values of the object keys. Let us discuss some methods
7 min read
How to Remove Duplicate Objects from an Array in JavaScript?
In JavaScript, it's a common example that the arrays contain objects and there might be a possibility that the objects may or may not be unique. Removing these duplicate objects from the array and getting the unique ones is a common task in Web Development. These are the following approaches: Table
2 min read