Home >Web Front-end >JS Tutorial >How to use an array containing objects and check the object based on its properties?
The task is to check if the array contains a specific value. Additionally, we need to check if the array contains a specific object with a given property.
This tutorial will use array.includes() and array.some() methods to check if an array contains a value or object with a specific property.
array.includes() method allows us to check if the array contains any value. In simple terms, we can search for a value in an array using the array.includes() method.
Users can search for values in an array using the array.includes() method following the following syntax.
array.includes(value, startIndex);
In the above syntax, the array contains various elements such as strings, numbers, and Boolean values.
Value - This is the value to search for in the array.
startIndex - This is an optional parameter, starting the search from startIndex.
It returns a Boolean value based on whether the value exists in the array.
In the following example, we use the array.includes() method, but do not pass the startIndex and option parameters. So it will search in the array starting from the 0th index. In the output, the user can observe that the array.includes() method returns true for the "hello" string value and false for the "abcd" string value.
<html> <body> <h2>Using the <i>array.includes()</i> method to check for the existence of the value in the array.</h2> <div id = "output"> </div> <script> let output = document.getElementById('output'); let array = ["Hello", 10, "Hi", true, "Welcome", false, 30, 50, 70, false]; let result = array.includes("Hello"); output.innerHTML += "Is Hello exist in the array? " + result + "<br/>"; result = array.includes("abcd"); output.innerHTML += "Is abcd exist in the array? " + result + "<br/>"; </script> </body> </html>
In the above method, we learned to check whether a value exists in the array object. Now, we will learn to check if an object with a specific property exists in an array.
The array.some() method checks whether at least one element in the array meets a specific condition passed to the callback function. So, in the callback function, we will check if any object contains a specific property.
Users can use the array.some() method according to the following syntax to check whether there is an object with a specific property in the array.
let result = objects.some((object) => property in object);
In the above syntax, we use "in" operator to check whether a certain property exists in any object of all objects in the array.
In the following example, we create an array of objects, each containing various properties and values. Additionally, we have used the array.some() method and used the "in" operator to check if there is an object in the array containing the properties passed as the checkProperties() function argument. Additionally, we call the checkProperties() function on the button click event with different parameter values.
In the output, we get true if any single object contains a specific property; false otherwise.
<html> <body> <h2>Using the <i>array.some()</i> method to check for the existence of the object with a particular property.</h2> <div id = "output"> </div> <button onclick = "checkProperties('salary'); checkProperties('id')"> Check for Object </button> <script> let output = document.getElementById('output'); function checkProperties(property) { let objects = [ { prop1: "value1", prop2: "Value2", num: 30 }, { name: "name", prop3: "Value3", salary: 40860 }, { age: 20, prop2: "Value2", number: 60 }, { prop1: "value10", prop2: "Value30", num: 90 }, { prop1: "value20", prop2: "Value40", num: 100 } ]; let isProperty = objects.some((object) => property in object); output.innerHTML += "Is objects array contain any object with " + property + " property? " + isProperty + "<br/>"; } </script> </body> </html>
In the example below, we use the array.reduce() method on an array of objects. In the callback function of the reduce() method, we access the salary property of the object and check whether it exists in the object by comparing its value with the "undefined" string value.
So this is another way to find any object containing a specific property using some() method.
<html> <body> <h2>Using the <i>array.some()</i> method to check for the existence of the object with a particular property.</h2> <div id = "output"> </div> <button onclick = "checkProperties()"> Check for Object </button> <script> let output = document.getElementById('output'); function checkProperties() { let objects = [ { color: "blue", id: "232d", num: 30 }, { name: "name", prop3: "534", maximum: 10 }, { age: 20, id: "dred", numValue: 90 }, { color: "blue", id: "87gd", minimum: 0 }, { color: "green", id: "56fghfh", num: 100 } ]; let isSalary = objects.some((object) => { object.salary != "undefined" }); output.innerHTML += "Is objects array contains any object with " + "salary" + "property? " + isSalary + "<br/>"; } </script> </body> </html>
We used the array.includes() and array.some() methods to search for values and objects in the array. However, users can also use the filter() method in JavaScript to check whether an array contains at least one object with a specific property.
The above is the detailed content of How to use an array containing objects and check the object based on its properties?. For more information, please follow other related articles on the PHP Chinese website!