Given an object, the task is to get the object’s index from the array of objects of the given property name and property value using JavaScript. we’re going to discuss a few techniques.
Below are the following approaches:
Table of Content
Method 1: Using Array map() Method
This method creates a new array with the return value of calling a function for every array element. This method calls the provided function once for each element in an array, with maintaining the order.
Syntax:
array.map(function(currentValue, index, arr), thisValue)
Parameters:
-
function(currentValue, index, arr): This parameter is required. It specifies a function to be run for each element in the array.
- currentValue: This parameter is required. It specifies the value of the current element.
- index: This parameter is optional. It specifies the array index of the current element.
- arr: This parameter is optional. It specifies the array object to which the current element belongs.
- thisValue: This parameter is optional. it specifies a value to be passed to the function to be used as its “this” value. If this parameter is empty, the value “undefined” will be passed.
Example: This example uses the JavaScript Array map() Method to get the object’s index with a given property.
let arrayObj = [{ prop_1: 'val' ,
prop_2: 'val_12' ,
prop_3: 'val_13'
}, { prop_1: 'val' ,
prop_2: 'val_22' ,
prop_3: 'val_23'
}]; function GFG_Fun() {
let prop = 'prop_2' ;
let val = 'val_22' ;
console.log( "Index of prop = "
+ prop + " val = " + val +
" is = " +
arrayObj.map( function (e) {
return e.prop_2;
}).indexOf(val));
} GFG_Fun(); |
Index of prop = prop_2 val = val_22 is = 1
Method 2: Using for loop
Using for loop we can iterate over the array of objects and check the given value of prop matches or not.
Example 1: This example searches for the attribute name and its value in the array and if it gets it, It returns the index of an object otherwise returns -1.
let arrayObj = [{ prop_1: 'val' ,
prop_2: 'val_12' ,
prop_3: 'val_13'
}, { prop_1: 'val' ,
prop_2: 'val_22' ,
prop_3: 'val_23'
}]; function fun_2(array, attr, value) {
for (let i = 0; i < array.length; i += 1) {
if (array[i][attr] === value) {
return i;
}
}
return -1;
} function GFG_Fun() {
let prop = 'prop_2' ;
let val = 'val_22' ;
console.log( "Index of prop = '" +
prop + "' val = '" + val + "' is = "
+ fun_2(arrayObj, prop, val));
} GFG_Fun(); |
Index of prop = 'prop_2' val = 'val_22' is = 1
Method 3: Using findIndex() Method
The Javascript Array.findIndex() method is used to return the first index of the element in a given array that satisfies the provided testing function (passed in by the user while calling). Otherwise, if no data is found then the value of -1 is returned.
Example: In this example, we have used findIndex() Method
let arrayObj = [{ prop_1: 'val' ,
prop_2: 'val_12' ,
prop_3: 'val_13'
}, { prop_1: 'val' ,
prop_2: 'val_22' ,
prop_3: 'val_23'
}]; const index = arrayObj.findIndex(object => { return object.prop_3 === 'val_23' ;
}); console.log(index); |
1
Method 4: Using some() Method
The Javascript arr.some() method checks whether at least one of the elements of the array satisfies the condition checked by the argument method.
Example: In this example we have used some() Method
let arrayObj = [{ prop_1: 'val' ,
prop_2: 'val_12' ,
prop_3: 'val_13'
}, { prop_1: 'val' ,
prop_2: 'val_22' ,
prop_3: 'val_23'
}]; let index; arrayObj.some((object, idx) => { if (object.prop_2 === 'val_12' ) {
index = idx;
return true ;
}
}); console.log(index); |
0