How do I search for the property of an object in an array without using for loops in JavaScript?
If the array is a simple one I can use array.indexOf(value) to get the index, but what if the array is an array of objects? Other than looping any other way?
For example, ar = [{x,y},{p,q},{u,v}]. If searched for v, it should return the array index as 2.
Answer
Searching for a value in an array typically requires a sequential search, which requires you to loop over each item until you find a match.
function search(ar, value) {
var i, j;
for (i = 0; i < ar.length; i++) {
for (j in ar[i]) {
if (ar[i][j] === value) return i;
}
}
}
search([{'x': 'y'}, {'p': 'q'}, {'u': 'v'}], 'v'); // returns 2;
No comments:
Post a Comment